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

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

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

[查詢] 多年沒來了,厚顏求教復(fù)合字段求和問題。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2008-11-18 18:28:19 | 只看該作者 回帖獎勵(lì) |倒序?yàn)g覽 |閱讀模式
[:34] 各位好,我最后一次來時(shí)06年,已經(jīng)這么多年了哈哈,這次遇到了一個(gè)技術(shù)難題,特來求教。
原本對我來說應(yīng)該不難的問題,可我長期不從事access編程了,把基本的東西都已經(jīng)忘記了,現(xiàn)在只能翻書來查資料了,丟人呀。

問題是:
在同一個(gè)字段內(nèi),比如字段名為肉類
填寫數(shù)值 豬肉:100 牛肉:100 雞肉:100 羊肉:100
這個(gè)數(shù)值是復(fù)制的格式統(tǒng)一,只是數(shù)值不同。
這個(gè)肉類字段可以不寫表,直接在在窗體中用文本框表示。
然后下面是車次
將肉類字段內(nèi)數(shù)值累加后自動除以車次數(shù),車次數(shù)值為手工填寫的數(shù)值。
在總計(jì)框內(nèi)自動寫入最后所得。
這個(gè)問題就是如何剔除漢字,僅僅要求數(shù)值計(jì)算,但是輸入時(shí)候會填寫漢字+數(shù)值的格式也就是牛肉: 100這樣子數(shù)值。怎么才能累加運(yùn)算出結(jié)果然后除以車次。

當(dāng)然了除以車次這個(gè)我會,就是忘記了如何才能剔除漢字進(jìn)行運(yùn)算。所以特來求教各位。請指教。萬分感謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱

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

2#
發(fā)表于 2008-11-18 20:42:46 | 只看該作者
老兄,老久不見了, 現(xiàn)在做什么工作了?
下面這貼看看是否對你有用,是江版主的貼子
http://ctxi.cn/forum.p ... ighlight=%2Btanhong
3#
發(fā)表于 2008-11-18 22:04:41 | 只看該作者
這個(gè)問題主要是去掉  “漢字:”
可以用 mid 和 instr 函數(shù)
純數(shù)值字段=clng(mid(字段名,instr(字段名,":")+1))
4#
 樓主| 發(fā)表于 2008-11-19 08:13:17 | 只看該作者
[:30] 感謝各位的回答,我沒看明白。
豬肉:100 牛肉:100 雞肉:100 羊肉:100
如何去掉漢字:然后把數(shù)字進(jìn)行計(jì)算得出結(jié)果然后除以車次。

熬了一個(gè)通宵,沒有做出來,不是這錯(cuò)就是那錯(cuò)。一個(gè)程序就這個(gè)一步做不錯(cuò)來沒辦法交差了。
老兄都來幫幫兄弟吧。
5#
發(fā)表于 2008-11-19 08:32:45 | 只看該作者
你的例子具體是如何的,要不你把例子傳上來
6#
 樓主| 發(fā)表于 2008-11-19 09:34:03 | 只看該作者
例子很簡單的,給你一個(gè)窗體,地址在http://www.namipan.com/d/%e6%96% ... 9936e16d54300500200
7#
 樓主| 發(fā)表于 2008-11-19 09:57:16 | 只看該作者
整體源程序?qū)儆谏虡I(yè)的,所以只能給你新建立一個(gè)文件,畫了一個(gè)界面,這個(gè)功能部件就是,在肉類文本框內(nèi)輸入豬肉:100 牛肉:100 雞肉:100 羊肉:100,這樣的文本信息。

這個(gè)信息是復(fù)制的,是統(tǒng)一的,不會變的,只是數(shù)字會變。

車次文本框手工輸入次數(shù),比如10

點(diǎn)擊計(jì)算,自動在合計(jì)里面計(jì)算出來結(jié)果。

這個(gè)程序不需要寫表,只要進(jìn)行運(yùn)算就可以了。

例如:豬肉:100 牛肉:100 雞肉:100 羊肉:100
車次:10
合計(jì)(豬肉:100+ 牛肉:100+ 雞肉:100+ 羊肉:100)/10=合計(jì)數(shù)

就是剔除漢字和冒號以后進(jìn)行累加計(jì)算然后和車次相除求合計(jì)數(shù)。在合計(jì)文本中顯示結(jié)果。

難為死我了

另外回答tmtony老兄
我現(xiàn)在在國家軍工單位服務(wù),被國家聘用了,吃公家糧了。主要從事管理。因?yàn)楣ぷ魃婷,就不多說了。
這次受命給一個(gè)儲備庫設(shè)計(jì)一個(gè)統(tǒng)計(jì)程序,我用dp和vb還有pb都寫了程序,但是人家非要acc的。要求整體都是acc直接不用exe界面。。。

后來我親自考察了一下,他們的系統(tǒng)是獨(dú)立的專用的,只有一個(gè)數(shù)據(jù)解釋器可以解析mdb數(shù)據(jù),也可以對他的函數(shù)和運(yùn)行進(jìn)行模擬。access數(shù)據(jù)庫反而能用,當(dāng)然了數(shù)據(jù)庫也必須低于03版,07壓根不支持。

這個(gè)計(jì)算界面是人家要求的,要即刻完工,我都準(zhǔn)備封裝程序了,結(jié)果這個(gè)做不出來了,急死我了。熬了2天2夜了,來幫忙吧。謝謝
8#
發(fā)表于 2008-11-19 10:43:43 | 只看該作者
Public Function WWWW(a As String, c As Integer)
'使用方法:wwww("豬肉:100 牛肉:100 雞肉:100 羊肉:100",10)
    Dim i As Integer
    Dim b As Boolean
    Dim s As String

    For i = 1 To Len(a)
        If Asc(Mid(a, i, 1)) > 47 And Asc(Mid(a, i, 1)) < 58 Then
            b = True
        Else
            b = False
        End If
        If b Then
            s = s & Mid(a, i, 1)
        Else
            s = s & "+"
        End If

    Next
    WWWW = Eval(s) / c
End Function

對樓主說的情況可以計(jì)算出來,不知道這個(gè)是不是特例。
9#
發(fā)表于 2008-11-19 10:48:02 | 只看該作者
上面的邏輯變量是多余的,下面這樣就好。

Public Function WWWW(a As String, c As Integer)
'使用方法:wwww("豬肉:100 牛肉:100 雞肉:100 羊肉:100",10)
    Dim i As Integer
    Dim s As String

    For i = 1 To Len(a)
        If Asc(Mid(a, i, 1)) > 47 And Asc(Mid(a, i, 1)) < 58 Then
            s = s & Mid(a, i, 1)
        Else
            s = s & "+"
        End If
    Next
    WWWW = Eval(s) / c
End Function
10#
 樓主| 發(fā)表于 2008-11-19 10:50:58 | 只看該作者
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

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

GMT+8, 2024-10-23 08:22 , Processed in 0.221457 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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