大家看看我这段代码那里错了?? 老提示要求对象

menggu55 2010-04-12 03:23:55
Dim AddUser As New ADODB.Recordset
Dim SqlStr As String
Dim DBstr As String
'Dim UsrID As String
Dim Spuser As String '商品名称
Dim Spcb As Integer '商品成本
Dim Spjg As Integer '出售价格
Dim Spdw As String '单位
Dim Spsl As Integer '数量
Dim Hj As Integer '合计
Dim Gmrq As Date '购买日期
Dim Dfkm As String '对方科目
Dim Tel As String '电话
Dim Jz As Boolean '结帐
Dim Xxdz As String ' 详细地址
Dim Jhqd As String ' 进货渠道
Dim Hk As Boolean ' 还款
Dim Bz As String '备注

'===============
'将文本框中的数据赋值给变量
'===============

Spuser = Combo1.Text
Spdw = Combo2.Text
Spcb = Val(Text1)
Spsl = Val(Combo3.Text)
Spjg = Val(Text2)
Hj = Val(Combo4.Text)
Gmrq = DTPicker1

If Combo5.Text = "是" Then
Jz = True
Else
Jz = False
End If

Dfkm = Combo6.Text
Tel = Text4
Jhqd = Combo7

If Combo8.Text = "是" Then
Hk = True
Else
Hk = False
End If

Xxdz = Text5
Bz = Text6
'===============
'将文本框中的数据赋值给变量
'===============


SqlStr = "INSERT INTO Info" & _
"(商品名称,进货成本,出售价格,单位,数量,合计,购买日期,对方科目,电话,结帐,详细地址,进货渠道,还款,备注,) " & _
"VALUES ('" & Spuser & "'" & _
"," & Spcb & _
"," & Spjg & _
",'" & Spdw & "'" & _
"," & Spsl & _
"," & Hj & _
",#" & Gmrq & "#" & _
",'" & Dfkm & "'" & _
",'" & Tel & "'" & _
"," & Jz & _
",'" & Xxdz & "'" & _
",'" & Jhqd & "'" & _
"," & Hk & _
",'" & Bz & "'):"
Text3.Text = SqlStr
DBcnn.Execute SqlStr

MsgBox "添加成功", 64, "提示"
' If Cmdedit.Visible = True Then Cmdedit.Visible = False


End Sub
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
menggu55 2010-04-13
  • 打赏
  • 举报
回复
解决了多了个逗号“备注,”呵呵。粗心啊
menggu55 2010-04-13
  • 打赏
  • 举报
回复
还是不行。改成string也不行啊。还是提示错误。


INSERT INTO Info(商品名称,进货成本,出售价格,单位,数量,合计,购买日期,对方科目,电话,结帐,详细地址,进货渠道,还款,备注,) VALUES ('1',3,5,'2',4,6,#2010-4-12#,'8','9','0','12','10','0','13');

大家再帮我看看如何改啊!!
zfl2k 2010-04-12
  • 打赏
  • 举报
回复
hk要设为string,值为"true" "flase"
或者试试 "0" 或"-1"
menggu55 2010-04-12
  • 打赏
  • 举报
回复
哦。谢谢。。我已经解决了还有个小问题要问下你。
Dim Spuser As String '商品名称
Dim Spcb As Integer '商品成本
Dim Spjg As Integer '出售价格
Dim Spdw As String '单位
Dim Spsl As Integer '数量
Dim Hj As Integer '合计
Dim Gmrq As Date '购买日期
Dim Dfkm As String '对方科目
Dim Tel As String '电话
Dim Jz As Boolean '结帐
Dim Xxdz As String ' 详细地址
Dim Jhqd As String ' 进货渠道
Dim Hk As Boolean ' 还款
Dim Bz As String '备注



SqlStr = "INSERT INTO Info" & _
"(商品名称,进货成本,出售价格,单位,数量,合计,购买日期,对方科目,电话,结帐,详细地址,进货渠道,还款,备注,) " & _
"VALUES ('" & Spuser & "'" & _
"," & Spcb & _
"," & Spjg & _
",'" & Spdw & "'" & _
"," & Spsl & _
"," & Hj & _
",#" & Gmrq & "#" & _
",'" & Dfkm & "'" & _
",'" & Tel & "'" & _
"," & Jz & _
",'" & Xxdz & "'" & _
",'" & Jhqd & "'" & _
"," & Hk & _
",'" & Bz & "');"

Text3.Text = SqlStr
Dbcnn.Execute SqlStr



这段代码如何调试都提示语句的语法错误。请问如何解决
其中 HK 和JZ都是逻辑型是不是有关系?
bcrun 2010-04-12
  • 打赏
  • 举报
回复
楼主你的代码中看不到DBcnn被初始化的代码,有一行相似的代码,但已被你注释掉了:
'Dim DBcnn As New ADODB.Recordset
menggu55 2010-04-12
  • 打赏
  • 举报
回复
这么和你说吧.
下面这段代码是 主窗口中载入代码。
Private Sub MDIForm_Load()
Dim SqlStr As String


'连接数据库
SqlStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
App.Path & "\data\db1.mdb;Persist Security Info=False"
DBcnn.Open SqlStr
form1.Show
End Sub

下面是子窗口 command1的命令窗口代码其他的都没了。

Dim AddUser As New ADODB.Recordset
Dim SqlStr As String
Dim DBstr As String
'Dim UsrID As String
Dim Spuser As String '商品名称
Dim Spcb As Integer '商品成本
Dim Spjg As Integer '出售价格
Dim Spdw As String '单位
Dim Spsl As Integer '数量
Dim Hj As Integer '合计
Dim Gmrq As Date '购买日期
Dim Dfkm As String '对方科目
Dim Tel As String '电话
Dim Jz As Boolean '结帐
Dim Xxdz As String ' 详细地址
Dim Jhqd As String ' 进货渠道
Dim Hk As Boolean ' 还款
Dim Bz As String '备注

'===============
'将文本框中的数据赋值给变量
'===============

Spuser = Combo1.Text
Spdw = Combo2.Text
Spcb = Val(Text1)
Spsl = Val(Combo3.Text)
Spjg = Val(Text2)
Hj = Val(Combo4.Text)
Gmrq = DTPicker1

If Combo5.Text = "是" Then
Jz = True
Else
Jz = False
End If

Dfkm = Combo6.Text
Tel = Text4
Jhqd = Combo7

If Combo8.Text = "是" Then
Hk = True
Else
Hk = False
End If

Xxdz = Text5
Bz = Text6
'===============
'将文本框中的数据赋值给变量
'===============


SqlStr = "INSERT INTO Info" & _
"(商品名称,进货成本,出售价格,单位,数量,合计,购买日期,对方科目,电话,结帐,详细地址,进货渠道,还款,备注,) " & _
"VALUES ('" & Spuser & "'" & _
"," & Spcb & _
"," & Spjg & _
",'" & Spdw & "'" & _
"," & Spsl & _
"," & Hj & _
",#" & Gmrq & "#" & _
",'" & Dfkm & "'" & _
",'" & Tel & "'" & _
"," & Jz & _
",'" & Xxdz & "'" & _
",'" & Jhqd & "'" & _
"," & Hk & _
",'" & Bz & "'):"
Text3.Text = SqlStr
DBcnn.Execute SqlStr

MsgBox "添加成功", 64, "提示"
' If Cmdedit.Visible = True Then Cmdedit.Visible = False


End Sub

这段到 DBcnn.Execute SqlStr 就出现要求对象错误了
bcrun 2010-04-12
  • 打赏
  • 举报
回复
楼主的过程代码前面一部分咋没有,具体 在哪一句提示需要对象呢?
menggu55 2010-04-12
  • 打赏
  • 举报
回复
已经做了
Private Sub MDIForm_Load()
'On Error GoTo abc
Dim SqlStr As String
'Dim DBcnn As New ADODB.Recordset
'‘App.HelpFile = App.Path & "\help.chm"


'连接数据库
SqlStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
App.Path & "\data\db1.mdb;Persist Security Info=False"
DBcnn.Open SqlStr
'Form3.Show
form1.Show
'abc:
End Sub
熊孩子开学喽 2010-04-12
  • 打赏
  • 举报
回复
你有没有建立数据库联结呀?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧