VB插入数据到ACCESS问题
数据库格式如上图,其中a列有很多数据,我要实现的是往b列的空白处添加数据,我想利用VB把数据插入到b列中的空行处,也就是新插入的数据在55,66,77,88等的后边空格处...
数据库格式如上图,其中a列有很多数据,我要实现的是往b列的空白处添加数据,我想利用VB把数据插入到b列中的空行处,也就是新插入的数据在55,66,77,88等的后边空格处,我写的程序插入的数据都是在新的一行,如下图示,不是我要的效果,还请各位大神给点指导意见,怎么实现。。。我的程序如下
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
conn.ConnectionString= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\11.accdb;Persist Security Info=False"
conn.Open
sql=”select * from sheet1 where b= “& trim(text1.text) &” ”
rs.open sql, conn,3,3
if not rs.EOF then
Msgbox “记录已存在!”,vbokonly+ VbCritical, “警告”
Text2.text=rs.Fields(“a”)
Else
rs.addnew
rs.fields(“b”)=trim(text1.text)
rs.update
Msgbox “添加记录成功!”,vbokonly+vbExclamation,“提示”
Rs.close
End If
End sub
其实我要实现的效果就是我先在text1中输入类似于b列的字符串,判断数据库中是否存在,如果存在就提示记录已存在,并把对应的a列中的数据读取到text2中,如果不存在就把text1中输入的字符插入到a列中有值但b列空白处,就这么个意思。没多少财富值了,所以还请各位大神不要嫌少,多多赐教。。
update 表 set b=xxx where ... 这个我是知道的,想不用where ,因为在插入前a列值不知道。。 展开
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
conn.ConnectionString= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\11.accdb;Persist Security Info=False"
conn.Open
sql=”select * from sheet1 where b= “& trim(text1.text) &” ”
rs.open sql, conn,3,3
if not rs.EOF then
Msgbox “记录已存在!”,vbokonly+ VbCritical, “警告”
Text2.text=rs.Fields(“a”)
Else
rs.addnew
rs.fields(“b”)=trim(text1.text)
rs.update
Msgbox “添加记录成功!”,vbokonly+vbExclamation,“提示”
Rs.close
End If
End sub
其实我要实现的效果就是我先在text1中输入类似于b列的字符串,判断数据库中是否存在,如果存在就提示记录已存在,并把对应的a列中的数据读取到text2中,如果不存在就把text1中输入的字符插入到a列中有值但b列空白处,就这么个意思。没多少财富值了,所以还请各位大神不要嫌少,多多赐教。。
update 表 set b=xxx where ... 这个我是知道的,想不用where ,因为在插入前a列值不知道。。 展开
3个回答
展开全部
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文件发来我给你调试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update 表 set b=xxx where ...
追问
插入前a列的值不知道,where用不了,还有什么办法么
追答
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
conn.ConnectionString= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\11.accdb;Persist Security Info=False"
conn.Open
sql=”select * from sheet1 where b= “& trim(text1.text) &” ”
rs.open sql, conn,3,3
if not rs.EOF then
Msgbox “记录已存在!”,vbokonly+ VbCritical, “警告”
Text2.text=rs.Fields(“a”)
Else
rs.close
sql=”select top 1 * from sheet1 where isnull(b)"
rs.open sql, conn,3,3
if not rs.eof then
rs.fields(“b”)=trim(text1.text)
rs.update
Msgbox “添加记录成功!”,vbokonly+vbExclamation,“提示”
Rs.close
else
msgbox "err"
endif
End If
End sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询