久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

如何在VBA中編寫含有變量的SQL語(yǔ)句而不易出錯(cuò)

 scwencai 2017-03-10

        在VBA中編寫含有變量的SQL語(yǔ)句的代碼,,歷來(lái)是Access初學(xué)者甚至已入門者頭痛的問(wèn)題。

        其中各種引號(hào),、連接號(hào)的嵌套,看上去紛繁復(fù)雜,,眼花繚亂,,極易把人搞暈菜,別說(shuō)初學(xué)者了,,縱然是多年老司機(jī),,也時(shí)常翻車。

        因?yàn)樵赩BA中編寫的一句含有多個(gè)變量的SQL語(yǔ)句,,始終報(bào)錯(cuò)不能正常執(zhí)行,,折騰N小時(shí)乃至N天,仍然百撕不得騎姐的大有人在,。

        我們來(lái)看一個(gè)真實(shí)案例(因情節(jié)需要有所改編):W童鞋因?yàn)橄旅孢@個(gè)SQL語(yǔ)句的編寫,,折騰了半天時(shí)間(實(shí)打?qū)嵉陌胩欤。?/span>

        頭發(fā)抓掉了幾十根,,什么學(xué)生卡,、老年卡、公交卡,、處男卡,、白領(lǐng)卡……他自己能找到的卡都刷了個(gè)遍,卻還是上不了Access發(fā)的車,!

       于是找到我求助,。

       W童鞋寫的代碼如下:

       strSQL = 'Insert INTO 憑證記錄表 (狀態(tài),日期,制單人,制單時(shí)間,關(guān)聯(lián)單號(hào))' _

                  & 'VALUE ('未審核',' & Me.日期 & '',' & Forms!SysFrmMain!Nickname & '',' _

                  & Now() & '',' & Me.單號(hào) & '')'

        作為一名常年發(fā)車,具有豐富經(jīng)驗(yàn)的老司機(jī),,本公子瞟了兩眼就看出來(lái)了下面幾點(diǎn)問(wèn)題:

        1. 引號(hào)使用有問(wèn)題,,單引號(hào)不成對(duì)。

        2. 日期必須要格式化,,并且兩端加#號(hào),。

        3. Now()函數(shù)在SQL中同樣可以用,不需要放到VBA中解析,。

        于是本公子隨手幫他改寫成了下面這樣:

        strSQL = 'Insert INTO 憑證記錄表 (狀態(tài),日期,制單人,制單時(shí)間,關(guān)聯(lián)單號(hào))' _

                    & 'VALUE ('未審核', ' & Format(Me.日期,'\#yyyy-mm-dd\#') & ','' _

                    & Forms!SysFrmMain!Nickname & '',Now(),'' & Me.單號(hào) & '')'

        但是,W童鞋用了我發(fā)給他的代碼試了之后告訴我:仍然不行,。這就很尷尬了……

        又仔細(xì)看了一下,,發(fā)現(xiàn)第1個(gè)左圓括號(hào)用的有問(wèn)題,,應(yīng)該是半角“(”,結(jié)果他寫成全角的“(”了,。

        抱歉,,這倆孿生兄弟長(zhǎng)得太像,我這老司機(jī)老眼昏花也難以分辨,。改正括號(hào)問(wèn)題再試,,一切OK。(中間仍然發(fā)生了一些其它問(wèn)題,,但那都不是我們這里要講的故事了)

        最后,,做為送一贈(zèng)一的贈(zèng)品,我向W童鞋推薦了本公子多年苦修領(lǐng)悟的絕學(xué):偷梁換柱,。用 Replace 函數(shù)替換的方式,,代替引號(hào)、連接號(hào)的作用,。

        改寫后的代碼如下:

        strSQL = ' Insert INTO 憑證記錄表 (狀態(tài),日期,制單人,制單時(shí)間,關(guān)聯(lián)單號(hào))' _

                    & ' VALUE ('未審核', #日期#,'@制單人',Now(),'@關(guān)聯(lián)單號(hào)')'

        strSQL = Repalce(strSQL, '@日期', Format(Me.日期, 'yyyy-mm-dd')

        strSQL = Repalce(strSQL, '@制單人', Forms!SysFrmMain!Nickname)

        strSQL = Repalce(strSQL, '@關(guān)聯(lián)單號(hào)', Me.單號(hào))

        好了,,這下子邋遢女漢子變成清新小美女了。

       這一招偷梁換柱大法,,雖然看著代碼行數(shù)增加了,,但卻更加清晰易懂,不易出錯(cuò),。

       推薦各位即將入門或者剛?cè)腴T的童鞋使用,,以后你再也不用犯引號(hào)糾結(jié)癥了!


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多