救救我吧!急死我了!救救我吧!急死我了!救救我吧!急死我了!救救我吧!急死我了!

kexuan 2002-12-02 08:27:41
Dim db As Database
Set db = OpenDatabase(App.Path & "\db1.mdb")

db.Execute "select * from " & Text13.Text & " where 货币 = " & Combo1.Text
On Error GoTo handleError
handleError:
If Err.Number <> 0 Then
MsgBox Combo1.Text & "已完成!", vbInformation, "警告"

Else
Set db = OpenDatabase(App.Path & "\db1.mdb")
db.Execute "insert into ......
End If

想实现的功能是当text13.text表中有combo1.text这个字段时,则显示已完成
否则则插入。

代码有问题,不能实现此功能,请修改使得其实现该功能或者重新编写一段新的代码来实现,但必须调试过可以再贴上来,而且不能用ADO的定义。最好在原程序上修改。答对者更有高分相送!!!
...全文
106 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2002-12-04
  • 打赏
  • 举报
回复
如果是检查表中[货币]字段是否存在,不存在就插入此字段,如下:
Dim db As Database
Set db = OpenDatabase(App.Path & "\db1.mdb")

db.Execute "select * from " & Text13.Text & " where 货币 = " & Combo1.Text
On Error GoTo handleError

handleError:
If Err.Number <> 3265 Then
MsgBox Combo1.Text & "已完成!", vbInformation, "警告"

Else

db.Execute "ALTER TABLE " & TEXT13.TEXT & " ADD COLUMN " 货币 CURRENCY"
End If

友情提示:数据库的问题请勿要求人家预先调试,人家没有你的库。
of123 2002-12-04
  • 打赏
  • 举报
回复
你的意思是:如果记录已经存在,就提示已经完成,否则插入记录。对吧?
注意:空记录集并不引起错误。

Dim db As Database, RS AS RECORDSET
Set db = OpenDatabase(App.Path & "\db1.mdb")
SET RS = db.Execute "select * from " & Text13.Text & " where 货币 = " & Combo1.Text
IF RS.EOF THEN
db.Execute "insert into ......
END IF
MsgBox Combo1.Text & "已完成!", vbInformation, "警告"
remanwang 2002-12-04
  • 打赏
  • 举报
回复
急死也没用,你的vb基本功太差
junglerover 2002-12-03
  • 打赏
  • 举报
回复
后面那个问题不想说了,就说前面一个问题。

"想实现的功能是当text13.text表中有combo1.text这个字段时,则显示已完成"这句话究竟是什么意思,你认为你表达清楚了没有????

假设你的text13.text="aaa",combo1.text="bbb"
你的判断条件究竟是 aaa表中存在名为bbb的字段??????
还是 aaa表中存在“货币”字段的值为bbb的记录??????

简直是一团糨糊。。。再说了,你把错误捕获语句放在可能发生错误
的语句后面,又怎么能捕获到错误呢???莫名其妙。

不废话了,如果你的意思是前者,即“判断某表中是否存在某字段”
那么可以用以下代码解决:

Dim db As Database
Set db = OpenDatabase(App.Path & "\db1.mdb")

On Error GoTo handleError
db.Execute "select * from " & Text13.Text & " where " & Combo1.Text & " is null"
MsgBox Combo1.Text & "已完成!", vbInformation, "警告"
exit sub

handleError:
db.Execute "insert into ......
crystal_heart 2002-12-03
  • 打赏
  • 举报
回复


msgbox text12.text
msgbox text20.text
msgbox text21.text
If Val(Text12.Text) <> (Val(Text20.Text) + Val(Text21.Text)) Then
MsgBox "输入数据错,请重试!", vbInformation, "警告"
end if
crystal_heart 2002-12-03
  • 打赏
  • 举报
回复
我靠,

If Val(Trim("100")) <> Val(Trim("60")) + Val(Trim("40")) Then
MsgBox "输入数据错,请重试!", vbInformation, "警告"
Else
MsgBox "ok"
End If


If Val("100") <> (Val("60") + Val("40")) Then
MsgBox "输入数据错,请重试!", vbInformation, "警告"
Else
MsgBox "ok"
End If
kexuan 2002-12-03
  • 打赏
  • 举报
回复
回复人: crystal_heart(笑看风云) ( ) 信誉:93 2002-12-03 21:20:00 得分:0


If Val(Text12.Text) <> (Val(Text20.Text) + Val(Text21.Text)) Then
MsgBox "输入数据错,请重试!", vbInformation, "警告"
end if



Top

回复人: chenyu5188(蓝色情调) ( ) 信誉:100 2002-12-03 21:20:00 得分:0


If Val(Trim(Text12.Text)) <> Val(Trim(Text20.Text)) + Val(Trim(Text21.Text)) Then
MsgBox "输入数据错,请重试!", vbInformation, "警告"
end if



还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!还是不对!
kisako 2002-12-03
  • 打赏
  • 举报
回复
说实话你用的方法太复杂了
有事电邮我
ZILN1@163.COM
wjhtz 2002-12-03
  • 打赏
  • 举报
回复
db.Execute "select * from " & Text13.Text & " where 货币 = " & Cdec(Combo1.Text)
chenyu5188 2002-12-03
  • 打赏
  • 举报
回复
If Val(Trim(Text12.Text)) <> Val(Trim(Text20.Text)) + Val(Trim(Text21.Text)) Then
MsgBox "输入数据错,请重试!", vbInformation, "警告"
end if
crystal_heart 2002-12-03
  • 打赏
  • 举报
回复
If Val(Text12.Text) <> (Val(Text20.Text) + Val(Text21.Text)) Then
MsgBox "输入数据错,请重试!", vbInformation, "警告"
end if
crystal_heart 2002-12-03
  • 打赏
  • 举报
回复
<>的优先级比+高
kexuan 2002-12-03
  • 打赏
  • 举报
回复
If Val(Text12.Text) <> Val(Text20.Text) + Val(Text21.Text) Then
MsgBox "输入数据错,请重试!", vbInformation, "警告"
end if

我用文本框显示Val(Text12.Text) 和Val(Text20.Text) + Val(Text21.Text) 都一致,但仍旧显示"输入数据错,请重试!"

我觉的是类型不一致,但不知道如何修改,请指教!

谢谢!
chenyu5188 2002-12-02
  • 打赏
  • 举报
回复
你的SQL语句格式错了哈。

用楼上那个兄弟的。
yjiwxg 2002-12-02
  • 打赏
  • 举报
回复
错误提示是什么?有可能是SELECT语句语法的问题
同意楼上的语法格式
crystal_heart 2002-12-02
  • 打赏
  • 举报
回复
db.Execute "select * from " & Text13.Text & " where 货币 = '" & Combo1.Text & "'"
nydelphi 2002-12-02
  • 打赏
  • 举报
回复
up
smilejiangjun 2002-12-02
  • 打赏
  • 举报
回复
什么丫
要求还挺高
gq00001 2002-12-02
  • 打赏
  • 举报
回复
用trim将空格裁去试试

1,216

社区成员

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

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