vb程序报错,不知咋改,显示VB6.0中出现不支持所要求的数据绑定类型
Dim Mydb As New ADODB.Recordset
Dim Mydb1 As New ADODB.Recordset
Dim Mydb2 As New ADODB.Recordset
Dim Count1 As New ADODB.Recordset
Dim Str_text As String
Private Sub cmd_add_Click()
On Error Resume Next
Dim A, B
B = 1
Set Count1 = ExeCutesql("select * from 收入", Str_text)
Count1.MoveLast
B = Count1.Fields(7) + 1
A = MsgBox("是否添加前记录?", vbYesNo + 32, "添加记录")
If A = vbYes Then
If txt_intake.Text = "" Then
MsgBox "请填写来源!", vbOKOnly + 32, "注意"
txt_intake.SetFocus
Else
ExeCutesql "INSERT INTO 收入 VALUES('" & Format(DTPicker1.Value, "yyyy-mm-dd") & "','" _
& Combo1.Text & "'," & txt_money.Text & ",'" & Combo2.Text & "','" & txt_intake.Text _
& "','" & Combo3.Text & "','" & txt_mome.Text & "'," & B & ")", Str_text
MsgBox "数据已经保存!", vbOKOnly + 64, "成功"
Call Xiangmu
Call Db
End If
End If
End Sub
Private Sub cmd_close_Click()
frm_main.Show
Unload Me
End Sub
Private Sub cmd_del_Click()
On Error Resume Next
Dim A
A = MsgBox("是否删除当前记录?", vbYesNo + 32 + 256, "添加记录")
If A = vbYes Then
'Mydb.UpdateBatch
ExeCutesql "DELETE from 收入 where key=" & txt_note.Text & "", Str_text
Call Db
Set Mydb = ExeCutesql("select * from 收入 ", Str_text)
Set MSHFlexGrid1.DataSource = Mydb
End If
End Sub
Private Sub cmd_edit_Click()
'On Error Resume Next
Dim A
A = MsgBox("是否修改当前记录?", vbYesNo + 32, "添加记录")
If A = vbYes Then
ExeCutesql "Update 收入 Set 日期 = '" & Format(DTPicker1.Value, "yyyy-mm-dd") & "',方式='" & Combo1.Text & "',金额=" & txt_money.Text & ", 来源='" & txt_intake.Text & "',人员='" & Combo3.Text & "',备注='" & txt_mome.Text & "' Where key = " & txt_note.Text & " ", Str_text
Call Db
MsgBox "数据修改成功!", vbOKOnly + 64, "成功"
End If
'MsgBox "Update 收入 Set 日期 = '" & DTPicker1.Value & "',方式='" & Combo1.Text & "',金额=" & txt_money.Text & ", 来源='" & txt_intake.Text & "',人员='" & Combo3.Text & "',备注='" & txt_mome.Text & "' Where key = '" & txt_note.Text & " '"
End Sub
Private Sub Combo2_Change()
Call Db1
End Sub
Private Sub Combo3_Change()
Call Db2
End Sub
Private Sub Command1_Click()
Call Db
End Sub
Private Sub Form_Load()
Call Db
Call Db1
Call Db2
DTPicker1.Value = Date
'Combo3.Locked = True
'Combo1.Locked = True
End Sub
Private Sub ShowAllMsf() Trec = Rs.RecordCount MSHFlexGrid1.Rows = Trec + 1 If Trec > 0 Then MSHFlexGrid1.Visible = False Datapos = 0 Rs.MoveFirst Do ShowMsFlex Rs.MoveNext Datapos = Datapos + 1 Loop Until Rs.EOF MSHFlexGrid1.Visible = True Rs.MoveFirst: Datapos = 0: OldPos = Datapos MSHFlexGrid1.Row = 1: MSHFlexGrid1.Col = 0 End IfEnd SubPrivate Sub ShowMsFlex() MSHFlexGrid1.Row = Datapos + 1 'updrow For I = 0 To TCols - 1 MSHFlexGrid1.Col = I MSHFlexGrid1.CellAlignment = 1 '靠左 MSHFlexGrid1.Text = IIf(Trim(Rs.Fields(I)) <> "", Rs.Fields(I), "") Next IEnd Sub
[解决办法]
Set MSHFlexGrid1.DataSource = MydbEnd Function
应该是Set MSHFlexGrid1.DataSource = Mydb End Function这样
[解决办法]
怎么没看见connction?
rs不用excute 改成open试试
RS.Open sSQL, dfwConn, adOpenForwardOnly, adLockReadOnly
Set MSHFlexGrid1.DataSource = RS
[解决办法]
对应rs 换成你的记录集 再在属性cols更改你的数值
rs.MoveFirst
' rs.MoveFirst
Do While Not rs.EOF
MSFlexGrid2.Rows = i + 1
MSFlexGrid2.row = i
MSFlexGrid2.col = 0
MSFlexGrid2.Text = i - 1
'For j = 1 To 10
For j = 1 To 10
MSFlexGrid2.col = j
If rs.Fields(j - 1) <> "" Then
MSFlexGrid2.Text = rs.Fields(j - 1).Value
End If
Next j
rs.MoveNext
i = i + 1
Loop