設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

12下一頁
返回列表 發(fā)新帖
查看: 2937|回復(fù): 10
打印 上一主題 下一主題

[模塊/函數(shù)] 請教一下,數(shù)據(jù)有數(shù)字改為文本,表達式該如何修改。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2012-4-6 14:45:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請教各位,我想將下面紅色的“0”改成帶有字母的數(shù)據(jù),比如說“E0”,應(yīng)該如何修改。在字段設(shè)置里面"請購單ID”為文本。

Private Sub Form_Open(Cancel As Integer)
    Dim stID As String   
    If IsNull(Me.OpenArgs) Then
        stID = CLng(Nz(DMax("CLng([請購單ID])", "請購單"), 0)) + 1
       Else
        stID = Me.OpenArgs
        End If
   Set mDAOTransForm = New DAOTransForm
    mDAOTransForm.InitForm Me, "Select * From 請購單 Where 請購單ID='" & stID & "'", _
        Me.frmsub, "Select * From 請購單明細 Where 請購單ID='" & stID & "'"   
    If mDAOTransForm.FormDataMode Then
        Me.Caption = "添加請購單"
        Me.請購單ID.DefaultValue = stID
    Else
        Me.Caption = "編輯請購單"
    End If        
    Me.frmsub.Form.請購單ID.DefaultValue = stID
    Me.frmsub.Requery      
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2012-4-6 15:57:32 | 只看該作者
傳例子
3#
發(fā)表于 2012-4-6 16:25:10 | 只看該作者
本帖最后由 aslxt 于 2012-4-6 16:32 編輯

如果字段中不包含非數(shù)字的字符這一步應(yīng)該沒有問題:
Nz(DMax("CLng([請購單ID])", "請購單"), “E0”)
但是如果字段中包含非數(shù)字的字符,CLng可能就會出問題。
個人覺得:你應(yīng)該把編號(請購單ID)的規(guī)定列舉出來,比如說“E0001"開始,到"E0002"...,一直到"E9999",這里第一位的E表示單位或部門或單據(jù)類別,總之,只用一位英文字符,后面的4位為順序號。只有把你的想法說出來,才好解決問題
4#
發(fā)表于 2012-4-6 16:40:50 | 只看該作者
貌似用Val([請購單ID])會好些。
5#
發(fā)表于 2012-4-6 16:43:50 | 只看該作者
Val對于第一個字符為非數(shù)字字符會出現(xiàn)問題,例如“0001A"可以轉(zhuǎn)為1,但是”A0001“就發(fā)生錯誤
6#
 樓主| 發(fā)表于 2012-4-6 17:15:39 | 只看該作者
aslxt 發(fā)表于 2012-4-6 16:25
如果字段中不包含非數(shù)字的字符這一步應(yīng)該沒有問題:
Nz(DMax("CLng([請購單ID])", "請購單"), “E0”)
但 ...



我是想讓請購單號中包含字母,比如你說的“E1~E999”一樣,我上傳了附件,能幫忙解決一下嗎?謝謝了!

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
7#
發(fā)表于 2012-4-6 21:16:22 | 只看該作者
...
Me.請購單ID.DefaultValue = """" & stID & """"
...
Me.frmsub.Form.請購單ID.DefaultValue = """" & stID & """"
...
8#
 樓主| 發(fā)表于 2012-4-6 21:43:29 | 只看該作者
aslxt 發(fā)表于 2012-4-6 21:16
...
Me.請購單ID.DefaultValue = """" & stID & """"
...

成功了,非常感謝你的熱心和耐心,aslxt !
9#
發(fā)表于 2012-4-6 21:52:46 | 只看該作者
本帖最后由 aslxt 于 2012-4-6 21:57 編輯

不客氣,我不過是在鍛煉耐力的同時測試一下表達能力{:soso_e113:}
10#
發(fā)表于 2012-4-6 20:35:03 | 只看該作者
本帖最后由 aslxt 于 2012-4-6 20:37 編輯

如果流水號不會超過99的話,可改為下面代碼:
...
If IsNull(Me.OpenArgs) Then
        stID = "s" & Format(Right(Nz(DMax("請購單ID", "請購單"), "s00"), 2) + 1, "00")
Else
        stID = Me.OpenArgs
End If
...
如果流水號不會超過9999的話,可改為下面代碼:
...
If IsNull(Me.OpenArgs) Then
        stID = "s" & Format(Right(Nz(DMax("請購單ID", "請購單"), "s0000"), 2) + 1, "0000")
Else
        stID = Me.OpenArgs
End If
...

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 10:33 , Processed in 0.105370 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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