Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

1234下一頁(yè)
返回列表 發(fā)新帖
樓主: 小何
打印 上一主題 下一主題

[窗體] 主子窗體修改數(shù)據(jù)后提示問(wèn)題?

[復(fù)制鏈接]
11#
 樓主| 發(fā)表于 2008-2-19 13:09:26 | 只看該作者
fswxs  你好!
你做的我試了一下,發(fā)現(xiàn)兩問(wèn)題:
1、沒(méi)有修改數(shù)據(jù)時(shí),也會(huì)提示是否保存?
2、我修改數(shù)據(jù)后,在提示是否保存時(shí),我點(diǎn)擊否也會(huì)保存?
這兩個(gè)問(wèn)題如何處理呢?
12#
發(fā)表于 2008-2-19 13:19:38 | 只看該作者
那是因?yàn)槲覄h除了你的變量,你用回你以前的代碼就是了
13#
發(fā)表于 2008-2-19 13:36:03 | 只看該作者
沒(méi)看清楚,說(shuō)的仔細(xì)點(diǎn)
14#
 樓主| 發(fā)表于 2008-2-19 14:31:51 | 只看該作者
主窗體解決了

[ 本帖最后由 小何 于 2008-2-19 15:21 編輯 ]
15#
 樓主| 發(fā)表于 2008-2-19 15:21:44 | 只看該作者
現(xiàn)在新問(wèn)題:
當(dāng)主窗體內(nèi)有子窗體時(shí),修改了子窗體內(nèi)容,如何得到同樣的提示?(或主窗體和子窗體一起修改了數(shù)據(jù)又怎么提示呢?)

[ 本帖最后由 小何 于 2008-2-19 15:27 編輯 ]

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x

點(diǎn)擊這里給我發(fā)消息

16#
發(fā)表于 2008-2-19 15:32:57 | 只看該作者
原帖由 小何 于 2008-2-19 08:10 發(fā)表
如果按你這個(gè)的話,我一次性全部項(xiàng)目都修改后就會(huì)一個(gè)一個(gè)的提示,變的很麻煩.最好修改多個(gè)項(xiàng)目后一次性提示.

我在6樓的例子只是告訴你使用OldValue屬性,如果你要一次性提示,就把代碼放在窗體的更新前事件中,也不要放在保存按鈕的單擊事件,因?yàn)槭墙壎ù绑w,只要移動(dòng)記錄就保存數(shù)據(jù)了。
完整代碼是這樣的(無(wú)需公共變量):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim st1 As String
st1 = "產(chǎn)品名稱(chēng)由 " & Me.產(chǎn)品名稱(chēng).OldValue & " 修改成 " & Me.產(chǎn)品名稱(chēng) & Chr(13)
st1 = st1 & "單位數(shù)量由 " & Me.單位數(shù)量.OldValue & " 修改成 " & Me.單位數(shù)量 & Chr(13)
st1 = st1 & "單價(jià)由 " & Me.單價(jià).OldValue & " 修改成 " & Me.單價(jià) & Chr(13)
st1 = st1 & "庫(kù)存量由 " & Me.庫(kù)存量.OldValue & " 修改成 " & Me.庫(kù)存量 & Chr(13)
st1 = st1 & "訂購(gòu)量由 " & Me.訂購(gòu)量.OldValue & " 修改成 " & Me.訂購(gòu)量 & Chr(13)
st1 = st1 & "再訂購(gòu)量由 " & Me.再訂購(gòu)量.OldValue & " 修改成 " & Me.再訂購(gòu)量 & Chr(13)
st1 = st1 & "中止由 " & IIf(Me.中止.OldValue, "是", "否") & " 修改成 " & IIf(Me.中止, "是","否") & Chr(13)
If MsgBox("數(shù)據(jù)已經(jīng)修改" & Chr(13) & Chr(13) & st1 & Chr(13) & Chr(13) & "是否保存?" & _
    Chr(13) & "單擊是保存,單擊否取消修改。", vbInformation + vbYesNo, "修改提示") = vbNo Then
    Cancel = True
    Me.Undo
End If
End Sub

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x

點(diǎn)擊這里給我發(fā)消息

17#
發(fā)表于 2008-2-19 15:34:44 | 只看該作者
原帖由 小何 于 2008-2-19 15:21 發(fā)表
現(xiàn)在新問(wèn)題:
當(dāng)主窗體內(nèi)有子窗體時(shí),修改了子窗體內(nèi)容,如何得到同樣的提示?(或主窗體和子窗體一起修改了數(shù)據(jù)又怎么提示呢?)

子窗體按上面的如法炮制
18#
發(fā)表于 2008-2-19 15:43:19 | 只看該作者
不用公共變量不行,他要求是沒(méi)修改的不提示
對(duì)于子窗體也一樣啊,最多弄個(gè)全局變量

點(diǎn)擊這里給我發(fā)消息

19#
發(fā)表于 2008-2-19 15:46:15 | 只看該作者
不須要公共變量呀!再完善一下代碼。

  1. Private Sub Form_BeforeUpdate(Cancel As Integer)
  2. Dim st1 As String
  3. If Me.產(chǎn)品名稱(chēng).OldValue <> Me.產(chǎn)品名稱(chēng) Then st1 = "產(chǎn)品名稱(chēng)由 " & Me.產(chǎn)品名稱(chēng).OldValue & " 修改成 " & Me.產(chǎn)品名稱(chēng) & Chr(13)
  4. If Me.單位數(shù)量.OldValue <> Me.單位數(shù)量 Then st1 = st1 & "單位數(shù)量由 " & Me.單位數(shù)量.OldValue & " 修改成 " & Me.單位數(shù)量 & Chr(13)
  5. If Me.單價(jià).OldValue <> Me.單價(jià) Then st1 = st1 & "單價(jià)由 " & Me.單價(jià).OldValue & " 修改成 " & Me.單價(jià) & Chr(13)
  6. If Me.庫(kù)存量.OldValue <> Me.庫(kù)存量 Then st1 = st1 & "庫(kù)存量由 " & Me.庫(kù)存量.OldValue & " 修改成 " & Me.庫(kù)存量 & Chr(13)
  7. If Me.訂購(gòu)量.OldValue <> Me.訂購(gòu)量 Then st1 = st1 & "訂購(gòu)量由 " & Me.訂購(gòu)量.OldValue & " 修改成 " & Me.訂購(gòu)量 & Chr(13)
  8. If Me.再訂購(gòu)量.OldValue <> Me.再訂購(gòu)量 Then st1 = st1 & "再訂購(gòu)量由 " & Me.再訂購(gòu)量.OldValue & " 修改成 " & Me.再訂購(gòu)量 & Chr(13)
  9. If Me.中止.OldValue <> Me.中止 Then st1 = st1 & "中止由 " & IIf(Me.中止.OldValue, "是", "否") & " 修改成 " & IIf(Me.中止, "否", "是") & Chr(13)
  10. If Len(Trim(st1)) = 0 Then
  11.     Me.Undo
  12.     Exit Sub
  13. End If
  14. If MsgBox("數(shù)據(jù)已經(jīng)修改" & Chr(13) & Chr(13) & st1 & Chr(13) & Chr(13) & "是否保存?" & _
  15.     Chr(13) & "單擊是保存,單擊否取消修改。", vbInformation + vbYesNo, "修改提示") = vbNo Then
  16.     Cancel = True
  17.     Me.Undo
  18. End If
  19. End Sub
復(fù)制代碼
20#
發(fā)表于 2008-2-19 15:50:03 | 只看該作者
樓上正解 學(xué)習(xí)啊
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 08:41 , Processed in 0.096775 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表