谢谢二位!
tofaysky2() :
你说没有那样的控件?但是有一个人在控件版面问了一个datagrid回车转行的问题,具体是:
----------
在datagrid中每个单元格输入完后,按回车,自动转到右边一格,如果到最后一格则转到下一行开始那一格.可以用Private Sub DataGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then SendKeys IIf(DataGrid1.Col = DataGrid1.Columns.Count - 1, "{down}+{home}", "{right}")
End Sub实现.但是如果输入数字时会跳到最前一个空的格子里,如何解决?
----------
这个是不是啊?怎么样去编程使得datagrid有编辑功能?
'引用ADO(Microsoft ActiveX Data Objects 2.X Library)
Private Sub Command1_Click()
On Error GoTo err
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登陆用户名;Password=登录密码;Initial Catalog=数据库名;Data Source=yourSERVICE"
cn.CursorLocation = adUseClient '设置客户端游标
cn.Open
Dim strSql As String, strTemp As String, i%, lowLimit As Long, upLimit As Long
lowLimit = CLng(Mid(Text1.Text, 5)) '取得用户输入的下限(如输入的是05电00001,那么取出来的是1),根据你的具体情况来修改
upLimit = CLng(Mid(Text2.Text, 5)) '取得用户输入的上限(如输入的是05电00200,那么取出来的是200),根据你的具体情况来修改
Dim i%
For i = lowLimit To upLimit
strTemp = ""
strTemp = Left(Trim(Text1.Text), 4) '从Text1.Text中取出到"05电",根据你的具体情况来修改
strTemp = strTemp & Format(i, "00000") '0的个数具体根据你的主键的名称来定
strSql = "insert into 表 values('" & strTemp & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "','" & Text6.Text & "')" 'Text的个数得根据你的具体情况来定
cn.execute (strSql)
Next
'引用ADO(Microsoft ActiveX Data Objects 2.X Library)
Private Sub Command1_Click()
On Error GoTo err
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登陆用户名;Password=登录密码;Initial Catalog=数据库名;Data Source=yourSERVICE"
cn.CursorLocation=adUseClient'设置客户端游标
cn.Open
Dim strSql As String,strTemp As String,i%,yourFieldCount%
yourFieldCount=5 '假设你的那些相同的字段有5个
For i=0 To yourFieldCount-1
strTemp=strTemp & "'" & Text1.Text & "~" & Text2.Text & "',"
Next
strTemp=left(strTemp,Len(strTemp)-1)'去掉后面多余的逗号
strSql="insert into 表 values('主键值'," & strTemp & ")"
cn.execute(strSql)
Exit Sub
err:
MsgBox err.Description
End Sub