• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      巧用VB調(diào)用access和excel實現(xiàn)票據(jù)打印

      2014-03-31 17:44:22羅孝騫
      關(guān)鍵詞:支票單元格自動

      孫 瑜,羅孝騫

      (黑龍江工業(yè)學院,黑龍江 雞西 158100)

      票據(jù)打印是應(yīng)用軟件開發(fā)中一項比較費時的工作,而且對于精確打印(銀行支票、進帳單等)設(shè)置比較繁瑣,利用報表控件(如Data Report,水晶報表等)實現(xiàn)精確打印又需要經(jīng)過一段時間的學習,上手慢,效果也不理想。那么,有沒有簡單有效而又靈活的方法實現(xiàn)上述功能呢?筆者在實踐中經(jīng)過VB調(diào)用access和excel實現(xiàn)精確打印支票、進帳單等,該方法易學好用,而且功能強大。下面筆者結(jié)合票據(jù)打印中經(jīng)常困擾財務(wù)工作人員的問題,談?wù)勅绾吻捎肰B調(diào)用access和excel實現(xiàn)票據(jù)精確打印。

      一 在票據(jù)打印過程中經(jīng)常遇到的問題

      1.如何在固定大小的單元格內(nèi)實現(xiàn)自動換行及字體大小的自動切換。

      2.如何在固定單元格內(nèi)實現(xiàn)字間距的控制(支票等在小寫數(shù)字打印過程中用到)。

      3.如何在數(shù)字前加入¥字符。

      4.如何對打印過的數(shù)據(jù)實現(xiàn)自動記憶,自動更新,自動引用。

      5.如何對頁面進行后期控制。

      二 問題的解決方法及技巧

      1. 如何在固定大小的單元格內(nèi)實現(xiàn)自動換行及字體大小的自動切換。

      VB調(diào)用excel的好處是我們對格式設(shè)置都可以在excel中進行(excel這些年比較普及,大多數(shù)人用得比較熟練),VB程序只是給excel附值,對于第一個問題我們舉例說明。

      當我們要在一個固定大小的單元格內(nèi)輸入1—30個漢字時(比如銀行開戶名一般不會超過30個漢字),字號為10號,1-7個漢字為一行(單元格可容下二行10號字),我們把單元格直接在excel里設(shè)置成自動換行,1-14個漢字時這個單元格就滿了(二行),再超過這個字數(shù)時怎么辦(自動換行和縮小字體在excel里不能同時應(yīng)用)?這里我們用一下excel的宏,讓漢字數(shù)在超過14個漢字時自動縮小為8號,這樣就可以使所輸字符全部可見。具體操作如下:

      If (Len(Sheet1.Cells(2, 4)) <= 20) Then

      Sheet1.Cells(2, 4).Font.Size = 10

      Else

      Sheet1.Cells(2, 4).Font.Size =8

      End If

      注釋:LEN 返回文本串的字符數(shù),F(xiàn)ont.size字號控制。

      這里我們簡單介紹一下excel的宏,Excel的宏是由一系列的Visual Basic語言代碼構(gòu)成的,因此,如果用戶熟悉Visual Basic 語言,可以用它編寫為宏,如果用戶不熟悉VB語言,可以用記錄功能建立宏。下面介紹一下有關(guān)的方法和技巧。

      建立宏的方法有兩種:一是用宏記錄器記錄所要執(zhí)行的一系列操作;二是用Visual Basic語言編寫。這兩種方法各有優(yōu)越之處,自動記錄宏可以使用戶在不懂Visual Basic 語言的情況下也可建立自己的宏,但缺點是對于一些復(fù)雜的宏要記錄的操作很多,而且可能有些功能并非是能通過現(xiàn)有的操作所能完成的;自己動手編寫宏則不必進行繁瑣的操作而且能實現(xiàn)自動記錄所不能完成的一些功能。在這里需要說明的一點是,即使自動記錄的宏,記錄器也是把它翻譯成Visual Basic語言來存放的,因此,在這里的一點技巧是你可以使用自動記錄功能記錄宏,記錄完畢后再打開宏進行編輯、修改簡化或增強宏的功能,這樣可省去許多輸入代碼的工作。

      2.如何在固定單元格內(nèi)實現(xiàn)字間距的控制。

      對字間距的控制主要用在支票、進帳單等數(shù)字部份的控制。這里用到二個函數(shù)(都在是excel單元格內(nèi)使用),CONCATENATE (text1,text2,...) 連接函數(shù),MID(text,start_num,num_chars)從字符串中讀取數(shù)據(jù)。用法如下:

      =CONCATENATE(" ",MID(G16,1,1)," ",MID(G16,2,1)," ",MID(G16,3,1)," ",MID(G16,4,1)," ",MID(G16,5,1)," ",MID(G16,6,1)," ",MID(G16,7,1)," ",MID(G16,8,1)," ",MID(G16,9,1)," ",MID(G16,10,1)," ")&" "。

      因為會計數(shù)字,一般不會超過10位數(shù)字。其中做下說明,這里我們是利用空格來控制間距大小,而空格的大小是根據(jù)字號判斷的。注意一點,我們從VB附值時,不要把值附到有公式的單元格內(nèi),這樣會替換掉公式,我們要利用一個過渡單元格,上例G16就是一個過渡單元格,調(diào)試好后將G16的字體顏色設(shè)成透明就可以了。

      3. 如何在數(shù)字前加入¥字符。

      如何在所生成的數(shù)據(jù)前加上¥符號,我們可以在單元格中設(shè)置如下公式:

      =IF(G13="","",IF(G13<10000000000,"¥",)&WIDECHAR(ROUND(G13,2)))

      其中用到二個函數(shù),widechar函數(shù),其功能是將單字節(jié)轉(zhuǎn)換成為雙字節(jié);round,返回某個數(shù)字按指定位數(shù)取整后的數(shù)字。用這二個函數(shù)進行處理的數(shù)據(jù)打印出來后,¥符號就加到你要打印的數(shù)值前方了。同樣G13也是個輔助單元格。

      4. 如何對打印過的數(shù)據(jù)實現(xiàn)自動記憶,自動更新,自動引用。

      自動記憶、自動更新、自動引用主要是針對支票、進帳單、郵政單據(jù)、物流單據(jù)而言。我們可以使用VB加access數(shù)據(jù)庫操作。這里筆者主要講一下流程、思路及所用到的SQL語言。

      (1)自動記憶。先在access建立個表,利用SQL語言,即INSERT INTO 表名稱 VALUES (值1, 值2,....)語句,將我們要記憶的數(shù)據(jù)加入到表里,這樣就完成了記憶功能。

      (2)自動更新。由于一個單位的名子不會變,開戶行、帳號和其它一些信息是要變化的,所以我們要用到更新。首先要利用SQL語言的條件查詢語句(SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值)對表進行查詢,如果沒有查到,說明以前沒有輸入過,那么直接進入自動記憶環(huán)節(jié),將數(shù)據(jù)插入到表中;如果有,則利用SQL語言(更新語句UPDATE 表名稱 SET 列名稱=新值 WHERE 列名稱=某值)進行更新處理(對于表中有的數(shù)據(jù)不管變動沒變動,都要進行更新,由于程序量不大,不會影響運算速度)。

      (3)自動引用。利用SQL的模糊查詢(SELECT字段FROM表WHERE某字段Like條件),通過輸入用戶名一步一步地精確并在下拉框中顯示,哪個是你想要的用戶雙擊即可,同時引出該用戶名的開戶行、帳號,這里如果沒有該用戶,手動加入開戶行、帳號等信息回到第一步,如果有該用戶,則看開戶行、帳號是否變化,如變化,則手工改動,回到第二步,如無變化無需改動也回到第二步。

      5. 如何對頁面進行后期控制。

      當我們把格式設(shè)置好后,需要注意里面的一些技巧,對以后票據(jù)的變動(比如進帳單格式變動)我們可以快速修改。

      (1)在制作模板時,A列和1行一定要空出來,這樣以后可以用拉A列或1行進行上下右左的調(diào)整(不用去excel的頁面設(shè)置里一點一點調(diào)整)。

      (2)輔助單元格和輔助列的應(yīng)用,上面已經(jīng)說明。

      我們?yōu)槭裁匆肰B來控制excel呢?我們可以結(jié)合VB和excel的優(yōu)點來對整個模版進行控制(用其它語言效果是一樣的),excel認知度高,大家可以自已對模版進行修改(對不會開發(fā)程序的人而言),友好性強,VB是一種非常易學的開發(fā)軟件,我們可以利用VB和access對打印做記錄、查詢等功能。VB語言還可以來編輯excel的宏,如果會用VB語言,那么,對excel的宏設(shè)計更是方便。

      [1]段興.Visual Basic6.0數(shù)據(jù)庫實用程序設(shè)計100例[M].人民郵電出版社,2003.

      [2]周慶麟,等. Excel 應(yīng)用大全[M].人民郵電出版社,2008.

      猜你喜歡
      支票單元格自動
      支票
      自動捕盜機
      學生天地(2020年5期)2020-08-25 09:09:08
      Writing a Check
      玩轉(zhuǎn)方格
      玩轉(zhuǎn)方格
      基于STM32的自動喂養(yǎng)機控制系統(tǒng)
      電子測試(2018年10期)2018-06-26 05:53:36
      淺談Excel中常見統(tǒng)計個數(shù)函數(shù)的用法
      西部皮革(2018年6期)2018-05-07 06:41:07
      關(guān)于自動駕駛
      汽車博覽(2016年9期)2016-10-18 13:05:41
      Stefan Greiner:我們?yōu)槭裁葱枰詣玉{駛?
      獎勵有道
      上海故事(2012年4期)2012-04-29 00:44:03
      晋州市| 称多县| 子长县| 宿州市| 江安县| 将乐县| 银川市| 五莲县| 临沭县| 竹北市| 开化县| 乌恰县| 南通市| 和平县| 溧水县| 商水县| 宝兴县| 静宁县| 正镶白旗| 枣阳市| 楚雄市| 曲沃县| 长岛县| 贵州省| 兴仁县| 博白县| 什邡市| 东光县| 清徐县| 介休市| 顺义区| 峨边| 布尔津县| 简阳市| 四会市| 济南市| 金坛市| 武邑县| 凯里市| 顺义区| 吉安县|