各位大师,在一个窗体中,我现在要判断:
如果"保存"命令是由"新增"命令激活的,则执行"自动编号"的代码,将其写在"客户ID"中并保存;
如果"保存"命令是由"修改"命令激活的,则"客户ID"记录锁定,为原记录,进行保存;
如何写这段代码!!!或者还有其他的判断方式?
我的代码如下:
Private Sub cmdSave_Click()
Me.Caption = "订单-新增"
Call StateR
'If Me.NewRecord = False Then
'我试着用这句来判断,但不成功
'Me.SOrderID.Locked = True
'End If
'以下为自动编号的代码,不知是否有问题
Dim strMax As String
If IsNull(DLookup("[sorderid]", "tblsorder")) Then
strMax = 0
Else
strMax = DMax("[SOrderID]", "tblsorder", "Right([SOrderID],3)")
End If
Me![SOrderID] = "CG-" & Format(Right(strMax, 3) + 1, "000")
'这句也不成功
'If Me.NewRecord = False Then
'Me.SOrderID.Locked = True
'End If
End Sub我将订单窗口设为用命令控制,一共有"新增"/"修改"/"取消"/"删除"/"保存",还有一个"退出"命令,其中:新增=cmdAdd / "修改"=cmdEdit /"取消"=cmdCancel /"删除"=cmdDelete/ 保存"=cmdSave/"退出"=cmdExit,只有"新增"各"修改"命令才会调出"保存",能否帮我改改以上代码,谢谢!!
如果"保存"命令是由"新增"命令激活的,则执行"自动编号"的代码,将其写在"客户ID"中并保存;
如果"保存"命令是由"修改"命令激活的,则"客户ID"记录锁定,为原记录,进行保存;
如何写这段代码!!!或者还有其他的判断方式?
我的代码如下:
Private Sub cmdSave_Click()
Me.Caption = "订单-新增"
Call StateR
'If Me.NewRecord = False Then
'我试着用这句来判断,但不成功
'Me.SOrderID.Locked = True
'End If
'以下为自动编号的代码,不知是否有问题
Dim strMax As String
If IsNull(DLookup("[sorderid]", "tblsorder")) Then
strMax = 0
Else
strMax = DMax("[SOrderID]", "tblsorder", "Right([SOrderID],3)")
End If
Me![SOrderID] = "CG-" & Format(Right(strMax, 3) + 1, "000")
'这句也不成功
'If Me.NewRecord = False Then
'Me.SOrderID.Locked = True
'End If
End Sub我将订单窗口设为用命令控制,一共有"新增"/"修改"/"取消"/"删除"/"保存",还有一个"退出"命令,其中:新增=cmdAdd / "修改"=cmdEdit /"取消"=cmdCancel /"删除"=cmdDelete/ 保存"=cmdSave/"退出"=cmdExit,只有"新增"各"修改"命令才会调出"保存",能否帮我改改以上代码,谢谢!!
解决方案 »
- vb 6.0 如何与Oracle 11g 建立连接和读取数据?(小弟新手)
- 如何可得到学生表中学生人数到文本框text1中?
- jmail 组建 一问
- 智能指针问题,加上CoUninitialize(); 就有运行时错误,不加就正常。
- 问一个数据库的问题??急
- 怎样更新已运行的应用程序?
- 操作远程sql2000数据库问题
- 请问各位,哪有msdn中文版的电子书下载
- 怎样把一个窗体悬浮于另一窗体之上,用于显示信息?是不是要用API?
- 问题均回复数: 7.62 我自己就回复了14次。这个回复率是问题均回复数的2倍。但是我的问题解答了吗?
- 各版主 or 莫依 or 高人 请进,一个奇怪的问题,困扰多时了
- 请问,如何获取DIRECTX游戏屏幕上某个点的颜色值?
if i=i then
'执行"自动编号"的代码,将其写在"客户ID"中并保存
ElseIf i = 2 Then
'"客户ID"记录锁定,为原记录,进行保存
End If
End SubPrivate Sub cmdadd_Click()
i=1
'下面写你的代码
End SubPrivate Sub cmdedit_Click()
i=2
'下面写你的代码
End Sub希望我没理解错你的问题,你的术语令我感到很迷惑
Private blNew As BoolenPrivate Sub NewButton_Click(sender,e)
blNew = True
End SubPrivate Sub SaveButton_Click(sender,e)
If blNew then
'执行"自动编号"的代码,将其写在"客户ID"中并保存
Else
'"客户ID"记录锁定,为原记录,进行保存
End if
End Sub
Private Sub SaveButton_Click(sender,e)
If blNew then
'执行"自动编号"的代码,将其写在"客户ID"中并保存
Else
'"客户ID"记录锁定,为原记录,进行保存
End if
blNew = False '还原以备下次判断
End SubPrivate Form_Load()
blNew = False '初始化,避免初始化前就是True,虽然vb默认是False,但是有个初始化习惯好
End Sub
sub SaveData(SaveType as integer)
select case savetype
case 0 '新增
case 1 '修改
end select
…………
enc sub然后用SAVETYPE参数来确定到底是新增还是修改。
比如楼上"rainstormmaster"他帮我写的代码里面"dim i as long"是不是一个全局变量,他应该写在哪里呢
===========================
全局变量与局部变量全局变量
用Public声明的变量就是全局变量,程序中的任何窗体和模块都能访问到它。声明全局变量要小心,任何模块或窗体中对它的修改都会影响其它模块或窗体中该变量的值。局部变量
在模块和窗体中用Dim或Static等声明的变量只在本模块或窗体中起作用,这样的变量叫局部变量。如杲全局变量和局部变量同名,则在局部变量所在模块或窗体内部,该变量为局部变量。离开该窗体或模块,该变量仍为全局变量。
急!
'放弃
Me.Undo
If Me.Recordset.EOF And Me.Recordset.BOF Then
Call comExit_Click
Exit Sub
Else
If Me.Caption = "出库-新增" Then
Me.Recordset.Delete
If Me.Recordset.EOF And Me.Recordset.BOF Then
Call comExit_Click
Me.Caption = "出库"
Exit Sub
End If
Me.Recordset.MoveNext
If Me.Recordset.EOF Then
Me.Recordset.MovePrevious
End If
Else
If IsNull(Me.Recordset.Fields(0)) Then
Me.Recordset.MoveNext
Me.Recordset.MovePrevious
End If
End If
End If
Call StateR
Me.Caption = "出库"
End Sub