Ms access 这张桌子怎么点?

Ms access 这张桌子怎么点?,ms-access,vb6,Ms Access,Vb6,使用vb6和Access数据库 我的问题 创建表 sql4 = "CREATE TABLE tmp_MOI (RECORDNO varchar(20), PERSONID varchar(20), EmpName varchar(50), TitleName varchar(50), Titlecode varchar(50), Department varchar(50), Nation varchar(50), CardEventDate varchar(50), Intime varcha

使用vb6和Access数据库

我的问题

创建表

sql4 = "CREATE TABLE tmp_MOI (RECORDNO varchar(20), PERSONID varchar(20), EmpName varchar(50), TitleName varchar(50), Titlecode varchar(50), Department varchar(50), Nation varchar(50), CardEventDate varchar(50), Intime varchar(20), Outtime varchar(20), PrevDate varchar(50), PrevOut varchar(20))"
If rstmpCardEvent1.State = 1 Then rstmpCardEvent1.Close
rstmpCardEvent1.Open sql4, Cn, adOpenStatic, adLockOptimistic
从表中选择字段并保存到记录集中

sql9 = "SELECT RECORDNO, PERSONID, EMPNAME, TITLENAME, TITLECODE, DEPARTMENT, NATION, CARDEVENTDATE, INTIME, OUTTIME, (select TOP 1 F1.CARDEVENTDATE  from tmp_cardevent as F1 where F1.RECORDNO < F2.RECORDNO  AND F1.PERSONID = F2.PERSONID order by F1.RECORDNO  DESC, F1.PERSONID DESC) AS PrevDate, (select TOP 1 F1.OUTTIME  from tmp_cardevent as F1 where F1.RECORDNO < F2.RECORDNO  AND F1.PERSONID = F2.PERSONID order by F1.RECORDNO  DESC, F1.PERSONID DESC) AS PrevOut FROM tmp_cardevent  AS F2 ORDER BY F2.NATION, F2.TITLECODE, F2.PERSONID, F2.CARDEVENTDATE"
If rsCardEvent1.State = 1 Then rsCardEvent1.Close
rsCardEvent1.Open sql9, Cn, adOpenStatic, adLockOptimistic
cmdcardevent1.CommandText = sql9
Set rsCardEvent1 = cmdcardevent1.Execute
当我在access数据库中检查此查询时,它正确显示,按国家排序,标题代码如001、002、003等…,personid,cardeventdate

国家、personid、cardeventdate在tmp_MOI表中正确显示

但是我没有在tmp_MOI表中正确获取标题代码,它在tmp_MOI表中显示标题代码,如001、002、001、003、002等等

我的代码有什么问题吗


首先需要查询或代码帮助

我不确定您为什么需要

ORDER BY '" & rsCardEvent1(4).Value & "'"
在Insert语句中插入记录集循环时,每次插入一行

第二,行数是否正确。可能是因为联接不正确,所以每个标题代码都有多行

第三,如果行数正确,请记住RDBMS的设计应确保表中记录的顺序是独立的。因此,如果选择没有ORDERBY子句,则数据的顺序没有保证。需要查看数据时添加Order By子句。

如何使用Order By'&rsCardEvent1(4).Value&“”,当我插入值Order By时,它会显示错误
ORDER BY '" & rsCardEvent1(4).Value & "'"