翻译成中文解释..本人是小菜鸟..希望有大虾出手相帮
以下代码是 月结算的代码:
Dim rs1 As New ADODB.Recordset '定义数据集对象
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset
Dim rs4 As New ADODB.Recordset
Dim rs5 As New ADODB.Recordset
Dim txtSQL, myval, txttime As String '定义字符串变量
Private Sub Form_Load()
txtSQL = "select * from 月消费信息表 order by 消费单据号"
Set rs1 = ESQL(txtSQL) '执行SQL语句
'当记录大于零时,Comyj按钮有效,否则Comyj按钮无效
If rs1.RecordCount > 0 Then Comyj.Enabled = True Else Comyj.Enabled = False
Me.Caption = Me.Caption & " 操作员: " & frm_main.St1.Panels(3).Text
Adodc2.RecordSource = "select sum(消费实收) from 月消费单据表"
Adodc2.Refresh
On Error Resume Next
Text1.Text = Adodc2.Recordset.Fields(0).Value
End Sub
Private Sub Comyj_Click() '确定月结算
Adodc1.RecordSource = "select * from 月消费单据表"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Comyj.Enabled = True
Else
Comyj.Enabled = False
End If
myval = MsgBox("确认结算当月数据吗?", vbYesNo)
If myval = vbYes Then
Adodc2.RecordSource = "select sum(消费实收) from 月消费单据表"
Adodc2.Refresh
If Adodc2.Recordset.RecordCount > 0 Then
txtSQL = "select * from 月营业分析表"
Set rs5 = ESQL(txtSQL)
rs5.AddNew
On Error Resume Next
Adodc1.Recordset.AddNew
rs5.Fields(0) = Format(Date, "yyyy - mm")
rs5.Fields(1).Value = Adodc2.Recordset.Fields(0).Value
rs5.Update
Adodc1.Refresh
End If
'插入记录到历史消费信息表中
txtSQL = "insert 历史消费信息表(箱号,所在大厅,项目编号,名称,单位,单价,数量,简称,消费状态,隐藏状态,登记时间,折扣,金额小计,消费单据号) select 箱号,所在大厅,项目编号,名称,单位,单价,数量,简称,消费状态,隐藏状态,登记时间,折扣,金额小计,消费单据号 from 月消费信息表 order by 消费单据号"
Set rs1 = ESQL(txtSQL)
' ESQL.Close
'插入记录到历史消费单据表中
txtSQL = "insert 历史消费单据表(消费单据号,主客箱号,主客姓名,主客性别,登记时间,结帐日期,结帐方式,主客消费金额,总计消费,打折,消费应收,实交金额,找零,消费实收,减免金额,减免原因,单据描述,人数) select 消费单据号,主客箱号,主客姓名,主客性别,登记时间,结帐日期,结帐方式,主客消费金额,总计消费,打折,消费应收,实交金额,找零,消费实收,减免金额,减免原因,单据描述,人数 from 月消费单据表 order by 消费单据号"
Set rs2 = ESQL(txtSQL)
'删除月消费信息表中的数据
txtSQL = "delete 月消费信息表 select * from 月消费信息表"
Set rs3 = ESQL(txtSQL)
'删除月消费单据表中的数据
txtSQL = "delete 月消费单据表 select * from 月消费单据表"
Set rs4 = ESQL(txtSQL)
Comyj.Enabled = False '设置Comyj按钮无效
MsgBox "月结算完毕!"
frm_main.Enabled = True '设置frm_main窗体有效
Unload Me
End If
End Sub
Private Sub comend_Click()
frm_main.Enabled = True '设置frm_main窗体有效
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
frm_main.Enabled = True '设置frm_main窗体有效
End Sub
以下代码是 月结算的代码:
Dim rs1 As New ADODB.Recordset '定义数据集对象
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset
Dim rs4 As New ADODB.Recordset
Dim rs5 As New ADODB.Recordset
Dim txtSQL, myval, txttime As String '定义字符串变量
Private Sub Form_Load()
txtSQL = "select * from 月消费信息表 order by 消费单据号"
Set rs1 = ESQL(txtSQL) '执行SQL语句
'当记录大于零时,Comyj按钮有效,否则Comyj按钮无效
If rs1.RecordCount > 0 Then Comyj.Enabled = True Else Comyj.Enabled = False
Me.Caption = Me.Caption & " 操作员: " & frm_main.St1.Panels(3).Text
Adodc2.RecordSource = "select sum(消费实收) from 月消费单据表"
Adodc2.Refresh
On Error Resume Next
Text1.Text = Adodc2.Recordset.Fields(0).Value
End Sub
Private Sub Comyj_Click() '确定月结算
Adodc1.RecordSource = "select * from 月消费单据表"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Comyj.Enabled = True
Else
Comyj.Enabled = False
End If
myval = MsgBox("确认结算当月数据吗?", vbYesNo)
If myval = vbYes Then
Adodc2.RecordSource = "select sum(消费实收) from 月消费单据表"
Adodc2.Refresh
If Adodc2.Recordset.RecordCount > 0 Then
txtSQL = "select * from 月营业分析表"
Set rs5 = ESQL(txtSQL)
rs5.AddNew
On Error Resume Next
Adodc1.Recordset.AddNew
rs5.Fields(0) = Format(Date, "yyyy - mm")
rs5.Fields(1).Value = Adodc2.Recordset.Fields(0).Value
rs5.Update
Adodc1.Refresh
End If
'插入记录到历史消费信息表中
txtSQL = "insert 历史消费信息表(箱号,所在大厅,项目编号,名称,单位,单价,数量,简称,消费状态,隐藏状态,登记时间,折扣,金额小计,消费单据号) select 箱号,所在大厅,项目编号,名称,单位,单价,数量,简称,消费状态,隐藏状态,登记时间,折扣,金额小计,消费单据号 from 月消费信息表 order by 消费单据号"
Set rs1 = ESQL(txtSQL)
' ESQL.Close
'插入记录到历史消费单据表中
txtSQL = "insert 历史消费单据表(消费单据号,主客箱号,主客姓名,主客性别,登记时间,结帐日期,结帐方式,主客消费金额,总计消费,打折,消费应收,实交金额,找零,消费实收,减免金额,减免原因,单据描述,人数) select 消费单据号,主客箱号,主客姓名,主客性别,登记时间,结帐日期,结帐方式,主客消费金额,总计消费,打折,消费应收,实交金额,找零,消费实收,减免金额,减免原因,单据描述,人数 from 月消费单据表 order by 消费单据号"
Set rs2 = ESQL(txtSQL)
'删除月消费信息表中的数据
txtSQL = "delete 月消费信息表 select * from 月消费信息表"
Set rs3 = ESQL(txtSQL)
'删除月消费单据表中的数据
txtSQL = "delete 月消费单据表 select * from 月消费单据表"
Set rs4 = ESQL(txtSQL)
Comyj.Enabled = False '设置Comyj按钮无效
MsgBox "月结算完毕!"
frm_main.Enabled = True '设置frm_main窗体有效
Unload Me
End If
End Sub
Private Sub comend_Click()
frm_main.Enabled = True '设置frm_main窗体有效
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
frm_main.Enabled = True '设置frm_main窗体有效
End Sub
Dim rs1 As New ADODB.Recordset '定义数据集对象
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset
Dim rs4 As New ADODB.Recordset
Dim rs5 As New ADODB.Recordset
Dim txtSQL, myval, txttime As String '定义字符串变量用的着声明5个recordset对象吗,他家内存不要钱啊,
Dim txtSQL, myval, txttime As String '定义字符串变量
他还好意思特意写上注释,可txtSQL和myval明明偏偏就没被定义成字符串变量,反而是variant变量。楼主不看他的书,还是中规中矩地从MSDN看起吧,虽然基础了点,慢了点,但这些24小时教会你赚钱的书,明明就是在骗你的钱
很不负责任的表现
看下VB中数据库那章Ado的用法就明白了