表中添加过新记录以后可以立即拿出新记录的属性吗?

hmyang 2006-03-17 09:44:41
'打开数据集,检查大类是否存在,若不存在则添加
AddPayoutInfo.Open "tbGoods_BigClass", g_Conn, adOpenStatic, adLockOptimistic
DBstr = "SELECT Goods_BigClassIDint, Goods_BigClassNamestr FROM tbGoods_BigClass"
Set AddPayoutInfo = g_Conn.Execute(DBstr)

While Not AddPayoutInfo.EOF
If Me.cmbGoodsBigClass.Text <> AddPayoutInfo.Fields.Item(1).Value Then '不匹配
AddPayoutInfo.MoveNext
i = 0
Else '匹配,跳转到Judge1
bigclassid = AddPayoutInfo.Fields.Item(0).Value
MsgBox bigclassid
i = 1
GoTo Judge1
End If
Wend

Judge1: '若是新大类,则跳转到此
If i = 0 Then
g_Conn.Execute "INSERT INTO tbGoods_BigClass VALUES ('" & Me.cmbGoodsBigClass.Text & "')"


End If

AddPayoutInfo.Close

表中tbGoods_BigClass只有Goods_BigClassIDint, Goods_BigClassNamestr两个属性,前者为自动增加(主键)
以上代码通过,我想在添加过记录后,马上就返回主键值,但是直接取好像会提示“行集不支持反向提取”,这是问什么?
大家帮下忙,谢谢
...全文
103 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jobs002 2006-03-17
  • 打赏
  • 举报
回复
select max(lngCode) as '最大号码' from table
select @@IDENTITY
hmyang 2006-03-17
  • 打赏
  • 举报
回复
谢谢,我现在只能重新查找一边,再移动到最后一个记录取相应的ID号
因为对于自动增长的字段,删除最后的记录后,字段还是在前面的基础上继续增加,而不是在现存记录上增加
of123 2006-03-17
  • 打赏
  • 举报
回复
rs.Open "SELECT * FROM tbGoods_BigClass", g_Conn

g_Conn.Execute "INSERT INTO tbGoods_BigClass VALUES ('" & Me.cmbGoodsBigClass.Text & "')"

rs.Requery
rs.BookMark = rs.LastModified

debug.print rs!Goods_BigClassIDint

其实,你在添加记录前
rs.MoveLast
lngClassID = rs!Goods_BigClassIDint + 1
就可以知道加入记录后的自动增加编号。

1,217

社区成员

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

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