Office中国论坛/Access中国论坛

标题: 求助,如何将表中记录合并成如图样式? [打印本页]

作者: wqing    时间: 2006-7-22 00:41
标题: 求助,如何将表中记录合并成如图样式?
[attach]19169[/attach]
[attach]19172[/attach]
谢谢各位大侠!!!
作者: hi-wzj    时间: 2006-7-22 01:32
用dao一个个读写吧.
作者: wuaza    时间: 2006-7-22 01:54
看都看不懂。有什么规律?
作者: wqing    时间: 2006-7-24 16:31
//发票编号为一条新记录开始,

字段3中数字2表示下面有两行

请教hi-wzj:如何用dao

谢谢
作者: wqing    时间: 2006-8-9 18:42
看来是没有人解答了
作者: 老鬼    时间: 2006-8-9 18:49
你那个源表数据规律性不强,是很难处理,建议在EXCEL中先将字段1的0替换为“//发票…”(在EXCEL中这很好处理),把现有的“//发票…”删掉(筛选一下删了就行),然后再重新导入ACCESS,这时就很好处理了。
作者: andymark    时间: 2006-8-9 18:51
最上面的那两行从那里来的,你的表没有这个数据,

知道规律转换很容易的
作者: Benjamin_luk    时间: 2006-8-9 21:12
试试:(仅限于你提供的格式,"//发票下有三行数据)

Function GetData()
Dim rs As DAO.Recordset, rs1 As DAO.Recordset, I As Integer, INV As String
Set rs = CurrentDb.OpenRecordset("Select * from 结构表1")
Set rs1 = CurrentDb.OpenRecordset("Select * from 结构全称")
If rs.RecordCount > 0 Then
rs.MoveFirst
Do Until rs.EOF
If InStr(1, rs.Fields(0), "//发票", vbBinaryCompare) > 0 Then
INV = rs.Fields(0)
rs.MoveNext
rs1.AddNew
rs1.Fields(0) = INV
rs1.Fields(1) = rs.Fields(0)
rs1.Fields(2) = rs.Fields(1)
rs1.Fields(3) = rs.Fields(2)
rs.MoveNext
rs1.Fields(4) = rs.Fields(0)
rs1.Fields(5) = rs.Fields(1)
rs1.Fields(6) = rs.Fields(2)
rs.MoveNext
rs1.Fields(7) = rs.Fields(0)
rs1.Fields(8) = rs.Fields(1)
'rs1.Fields(9) = rs.Fields(2)
rs1.Update
End If
rs.MoveNext
Loop
End If
Set rs = Nothing
Set rs1 = Nothing
End Function

[此贴子已经被作者于2006-8-9 13:17:11编辑过]


作者: wqing    时间: 2006-8-15 22:47
谢谢诸位大侠




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3