这段程序有什么错误,Private Sub Command1_Click()
Dim cnn1 As ADODB.Connection
Dim cnn2 As ADODB.ConnectionDim rs1 As ADODB.Recordset
Dim rs2 As ADODB.RecordsetSet cnn1 = New ADODB.Connection
'Trim(Text1.Text)
cnn1.Open "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=D:\database\product.dbf;SourceType=DBF"
'cnn1.Open "Provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=Trim(Text1.Text);"
Set cnn2 = New ADODB.Connection
strCnn = "Provider=sqloledb;Data Source=TANGZL;Initial Catalog=pubs;User Id=sa;Password=sa;"
cnn2.Open strCnn
Set rs1 = New ADODB.Recordset
rs1.CursorType = adOpenKeyset
rs1.LockType = adLockOptimistic
rs1.Open "D:\database\product.dbf", cnn1, , , adCmdTable
Set rs2 = New ADODB.Recordset
rs2.CursorType = adOpenKeyset
rs2.LockType = adLockOptimistic
rs2.Open "product", cnn2, , , adCmdTable
'&trim(Text3.text)&
Dim i As Integer
'Dim fd As Fieldrs1.MoveFirst
Do While Not rs1.EOF
For i = 0 To rs1.Fields.Count - 1
If Not IsNull(rs1.Fields(i).Value) Then
rs2.Fields(i).Value = rs1.Fields(i).Value
End If
Next
rs1.MoveNext
Loop
'For Each fd In rs1.Fields
'If Not IsNull(fd.Value) Then
'rs2.Fields(i).Value = fd.Value
'End If
'Next
Dim j As Integer
gridemployee.Clear
gridemployee.Rows = rs2.RecordCount + 1
gridemployee.Cols = rs2.Fields.Count
For j = 0 To rs2.Fields.Count - 1
gridemployee.TextMatrix(0, j) = rs2.Fields(j).Name
gridemployee.ColWidth(j) = 2 * TextWidth(rs2.Fields(j).Name)
Next jFor i = 0 To rs2.RecordCount - 1
For j = 0 To rs2.Fields.Count - 1
If Not IsNull(rs2.Fields(j).Value) Then
gridemployee.TextMatrix(i + 1, j) = rs2.Fields(j).Value
End If
Next j
rs2.MoveNext
Next i
End Sub
Dim cnn1 As ADODB.Connection
Dim cnn2 As ADODB.ConnectionDim rs1 As ADODB.Recordset
Dim rs2 As ADODB.RecordsetSet cnn1 = New ADODB.Connection
'Trim(Text1.Text)
cnn1.Open "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=D:\database\product.dbf;SourceType=DBF"
'cnn1.Open "Provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=Trim(Text1.Text);"
Set cnn2 = New ADODB.Connection
strCnn = "Provider=sqloledb;Data Source=TANGZL;Initial Catalog=pubs;User Id=sa;Password=sa;"
cnn2.Open strCnn
Set rs1 = New ADODB.Recordset
rs1.CursorType = adOpenKeyset
rs1.LockType = adLockOptimistic
rs1.Open "D:\database\product.dbf", cnn1, , , adCmdTable
Set rs2 = New ADODB.Recordset
rs2.CursorType = adOpenKeyset
rs2.LockType = adLockOptimistic
rs2.Open "product", cnn2, , , adCmdTable
'&trim(Text3.text)&
Dim i As Integer
'Dim fd As Fieldrs1.MoveFirst
Do While Not rs1.EOF
For i = 0 To rs1.Fields.Count - 1
If Not IsNull(rs1.Fields(i).Value) Then
rs2.Fields(i).Value = rs1.Fields(i).Value
End If
Next
rs1.MoveNext
Loop
'For Each fd In rs1.Fields
'If Not IsNull(fd.Value) Then
'rs2.Fields(i).Value = fd.Value
'End If
'Next
Dim j As Integer
gridemployee.Clear
gridemployee.Rows = rs2.RecordCount + 1
gridemployee.Cols = rs2.Fields.Count
For j = 0 To rs2.Fields.Count - 1
gridemployee.TextMatrix(0, j) = rs2.Fields(j).Name
gridemployee.ColWidth(j) = 2 * TextWidth(rs2.Fields(j).Name)
Next jFor i = 0 To rs2.RecordCount - 1
For j = 0 To rs2.Fields.Count - 1
If Not IsNull(rs2.Fields(j).Value) Then
gridemployee.TextMatrix(i + 1, j) = rs2.Fields(j).Value
End If
Next j
rs2.MoveNext
Next i
End Sub
解决方案 »
- 20几位的数字应该定义成什么数据类型?
- 在线等:怎么把MsHFlexGrid中的数据导出到EXCEL中
- ADO Data Control 6.0 (Visual Basic 2005)
- 如何清除文本文件,创建文本文件,打开文本文件?
- 在用datareport显示数据时,怎样才能实现数据的动态更新。我用的是数据环境和其相连,每次表内的数据都进行了更新
- textbox控件的字体问题,请网友帮忙
- 《澎湃激烈》
- 报表问题:有谁知道ActiveReport中_Format,_BeforePrint,_AfterPrint的调用顺序,请进.
- 谁帮我改条SQL语句阿? 救救我
- 怎么在程序运行中把VB的窗体存成一张图片????
- 想做进销存软件,用mssql数据库,做成网络版,请问用vb好还是delphi好,我知道vb的水晶报表很好,但是做成网络版是不是delphi功能更强一些.
- 要使用文件打开对话框,需引用什么部件
BOF或EOF中有一个是真,或者当前记录已被删除,所需的操作需一个当前记录
'Dim fd As Field
之后加入
if rs1.eof or rs2.eof then
msgbox "not record"
end if