vb+access难题:无效的SQL语句…,对象Refresh的方法IAdodc失败
在窗体中设置了两个combox控件,一个是comFiled是选择access中的字段名称,另一个是comName是该字段下相应的内容要求:程序运行时当选了comFiled...
在窗体中设置了两个combox控件,一个是comFiled是选择access中的字段名称,另一个是comName是该字段下相应的内容
要求:程序运行时当选了comFiled中的字段后,comName控件中显示所有该字段下相应的内容。当两个控件都选择后,4个文本框(Text1,Text2,Text3,Text4,)中分别显示access中对应的内容。
当我调试程序的时候:选择第二个控件的内容后(即cmbName的时候)却提示“无效的SQL语句……”,紧接着又提示“对象Refresh的方法IAdodc失败”。我也不知道是哪里出问题了,所以请您大哥哥大姐姐们帮我看一下是哪里的问题,谢谢了。下面是VB代码
Private Sub cmbField_Click()
cmbName.Clear '清空cmbname
Adodc1.RecordSource = "select * from 重量查询表"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
cmbName.AddItem Adodc1.Recordset.Fields(cmbField.Text)
Adodc1.Recordset.MoveNext
Loop
cmbName.Text = cmbName.List(0)
End Sub
Private Sub cmbName_Click()
Dim condition
condition = Trim(cmbField.Text)
If Adodc1.Recordset.Fields(condition).Type = 202 Then
'被选择的字段类型如果是文本类型
Adodc1.RecordSource = "selcet * from 重量查询表 where" & condition & "='" & cmbName.Text & "'"
'被选择的字段类型如果是数值类型
Else
Adodc1.RecordSource = "select * from 重量查询表 where" & condition & "=" & cmbName.Text
End If
Adodc1.Refresh '调试出错后,这里显示黄色
Text1.Text = Adodc1.Recordset.Fields("产品型号") '将字段值在文本中显示
Text2.Text = Adodc1.Recordset.Fields("零件件号")
Text3.Text = Adodc1.Recordset.Fields("零件名称")
Text4.Text = Adodc1.Recordset.Fields("加工重量")
End Sub
Private Sub Form_Load()
Dim i As Integer
Adodc1.RecordSource = "select * from 重量查询表" '连接重量查询表
Adodc1.Refresh '刷新连接
cmbField.Clear '清空cmbfield
For i = 0 To Adodc1.Recordset.Fields.Count - 1
'将每个字段的名字作为一个项目,添加到cmbfield中
cmbField.AddItem Adodc1.Recordset.Fields(i).Name
Next i
cmbField.Text = cmbField.List(0) '默认显示第一项
End Sub
我已经研究好多天了,一直都没结果。大家帮帮我吧,谢谢了!
2楼说的加个空格也不行啊 展开
要求:程序运行时当选了comFiled中的字段后,comName控件中显示所有该字段下相应的内容。当两个控件都选择后,4个文本框(Text1,Text2,Text3,Text4,)中分别显示access中对应的内容。
当我调试程序的时候:选择第二个控件的内容后(即cmbName的时候)却提示“无效的SQL语句……”,紧接着又提示“对象Refresh的方法IAdodc失败”。我也不知道是哪里出问题了,所以请您大哥哥大姐姐们帮我看一下是哪里的问题,谢谢了。下面是VB代码
Private Sub cmbField_Click()
cmbName.Clear '清空cmbname
Adodc1.RecordSource = "select * from 重量查询表"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
cmbName.AddItem Adodc1.Recordset.Fields(cmbField.Text)
Adodc1.Recordset.MoveNext
Loop
cmbName.Text = cmbName.List(0)
End Sub
Private Sub cmbName_Click()
Dim condition
condition = Trim(cmbField.Text)
If Adodc1.Recordset.Fields(condition).Type = 202 Then
'被选择的字段类型如果是文本类型
Adodc1.RecordSource = "selcet * from 重量查询表 where" & condition & "='" & cmbName.Text & "'"
'被选择的字段类型如果是数值类型
Else
Adodc1.RecordSource = "select * from 重量查询表 where" & condition & "=" & cmbName.Text
End If
Adodc1.Refresh '调试出错后,这里显示黄色
Text1.Text = Adodc1.Recordset.Fields("产品型号") '将字段值在文本中显示
Text2.Text = Adodc1.Recordset.Fields("零件件号")
Text3.Text = Adodc1.Recordset.Fields("零件名称")
Text4.Text = Adodc1.Recordset.Fields("加工重量")
End Sub
Private Sub Form_Load()
Dim i As Integer
Adodc1.RecordSource = "select * from 重量查询表" '连接重量查询表
Adodc1.Refresh '刷新连接
cmbField.Clear '清空cmbfield
For i = 0 To Adodc1.Recordset.Fields.Count - 1
'将每个字段的名字作为一个项目,添加到cmbfield中
cmbField.AddItem Adodc1.Recordset.Fields(i).Name
Next i
cmbField.Text = cmbField.List(0) '默认显示第一项
End Sub
我已经研究好多天了,一直都没结果。大家帮帮我吧,谢谢了!
2楼说的加个空格也不行啊 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询