asscee答疑_网上找的数据上传到ASSCEE的方法我想加多一个内容如何添加。

本文详细描述了使用Visual Basic for Applications (VBA) DAO库实现的订单数据录入与更新方法,包括创建或检查数据库表、根据序号、门店代码和自动编号判断是否更新数量,以及完成后询问是否打印数据。
摘要由CSDN通过智能技术生成

Public Sub DAO录入方法1()

Dim myData As String, myTable As String, SQL As String

Dim wb As Workbook

Dim ws As Worksheet

Dim myDb As DAO.Database

Dim myTbl As DAO.TableDef

Dim myRs As DAO.Recordset

Set wb = ThisWorkbook

Set ws = wb.Sheets("订单表")

myData =ThisWorkbook.Path & "\MyDB.mdb"

myTable = "订单"

If Dir(myData) = "" Then

Set myDb = CreateDatabase(myData, dbLangChineseSimplified)

Set myTbl = myDb.CreateTableDef(myTable)

With myTbl

.Fields.Append .CreateField("序号", dbSingle)

.Fields.Append .CreateField("商品代码", dbText, 50)

.Fields.Append .CreateField("数量", dbSingle)

.Fields.Append .CreateField("商品名称", dbText, 50)

.Fields.Append .CreateField("规格", dbText, 50)

.Fields.Append .CreateField("配货价", dbSingle)

.Fields.Append .CreateField("零售价", dbSingle)

.Fields.Append .CreateField("订货金额", dbSingle)

.Fields.Append .CreateField("发货日期", dbText, 50)

.Fields.Append .CreateField("规格数", dbSingle)

.Fields.Append .CreateField("门店代码", dbText, 50)

.Fields.Append .CreateField("自动编号", dbSingle)

End With

myDb.TableDefs.Append myTbl

Else

Set myDb = OpenDatabase(myData)

For Each myTbl In myDb.TableDefs

If LCase(myTbl.Name) = LCase(myTable) Then GoTo hhh

Next myTbl

Set myTbl = myDb.CreateTableDef(myTable)

With myTbl

.Fields.Append .CreateField("序号", dbSingle)

.Fields.Append .CreateField("商品代码", dbText, 50)

.Fields.Append .CreateField("数量", dbSingle)

.Fields.Append .CreateField("商品名称", dbText, 50)

.Fields.Append .CreateField("规格", dbText, 50)

.Fields.Append .CreateField("配货价", dbSingle)

.Fields.Append .CreateField("零售价", dbSingle)

.Fields.Append .CreateField("订货金额", dbSingle)

.Fields.Append .CreateField("发货日期", dbText, 50)

.Fields.Append .CreateField("规格数", dbSingle)

.Fields.Append .CreateField("门店代码", dbText, 50)

.Fields.Append .CreateField("自动编号", dbSingle)

End With

myDb.TableDefs.Append myTbl

hhh:

End If

n = ws.Range("A65536").End(xlUp).Row

For I = 3 To n

SQL = "select * from " & myTable _

& " where 序号=" & Cells(I, 1).Value _

& " and 商品代码='" & Cells(I, 2).Value & "'" _

& " and 数量=" & Cells(I, 3).Value _

& " and 商品名称='" & Cells(I, 4).Value & "'" _

& " and 规格='" & Cells(I, 5).Value & "'" _

& " and 配货价=" & Cells(I, 6).Value _

& " and 零售价=" & Cells(I, 7).Value _

& " and 订货金额=" & Cells(I, 8).Value _

& " and 发货日期='" & Cells(I, 9).Value & "'" _

& " and 规格数=" & Cells(I, 10).Value _

& " and 门店代码='" & Cells(I, 11).Value & "'" _

& " and 自动编号=" & Cells(I, 12).Value

Set myRs = myDb.OpenRecordset(SQL)

If myRs.BOF And myRs.EOF Then            ' 如果数据表中没有工作表的某行数据,就添加到数据表

myRs.AddNew

For j = 1 To myRs.Fields.Count

myRs.Fields(j - 1) = Cells(I, j).Value

Next j

myRs.Update

Else: myRs.Edit '如果数据表中有工作表的某行数据,就将数据进行更新

For j = 1 To myRs.Fields.Count

myRs.Fields(j - 1) = Cells(I, j).Value

Next j

myRs.Update

我想要这里添加上一条如果序号、门店代码、自动编号相就更新数量的方法,如何添加,在线等,急!    End If

Next I

If MsgBox("数据上传完毕; 是否直接打印", vbInformation + vbYesNo, "提示") = vbYes Then

ws.PrintOut copies:=2, collate:=True

End If

myRs.Close

myDb.Close

Set wb = Nothing

Set ws = Nothing

Set rs = Nothing

Set myRs = Nothing

Set myTbl = Nothing

Set myDb = Nothing

End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值