详细内容

VB的一段代码,麻烦各位解释下。不懂这个。
2008-10-30 20:39:00 提供者:代码解释不懂 浏览次数
SubGestionImpressionCarnet(Optionalp_s_refOFAsVariant,Optionalp_s_refRadeauAsVariant)Diml_s_messAsStringDiml_s_sqlAsStringDiml_reAsNewadodb.RecordsetDiml_i_CarnetAsIntegerOnErrorGoToGestionImpressionCarnet_errl_s_sql="SELECT*FROMT_RADEAUXWHERE"If(NotIsMissing(p_s_refRadeau))Thenl_s_sql=l_s_sql&"C_NumRadeaux="&TextSQL(p_s_refRadeau)&""Else'Cherchertouslesradeauxquiappartiennent?cetOFpliagel_s_sql=l_s_sql&"C_NumOFPliage="&TextSQL(p_s_refOF)&"ANDC_Carnet<2"l_s_sql=l_s_sql&"ORDERBYC_IdOrdre"EndIfl_re.Openl_s_sql,g_db_new,adOpenDynamic,adLockPessimistic'Siln'yapasd'enregistrementIfl_re.EOFThen'LedireMsgBox"Iln'yapasderadeauxdontlecarnetdoit阾reimprim?EndIf'BouclesurtouslesenregistrementsDoWhileNotl_re.EOF'Combiendecarnetrestet'il?imprimerl_i_Carnet=l_re!C_CarnetForl_i_boucle=(l_i_CarnetMod2)To1l_s_mess="Impressionducarnet"If(l_i_boucleMod2)=0Thenl_s_mess=l_s_mess&"rouge"Elsel_s_mess=l_s_mess&"bleu"EndIfl_s_mess=l_s_mess&"duradeau"&l_re!C_NumRadeaux&vbCrLf&vbCrLfl_s_mess=l_s_mess&"Quandlevoyantvertclignote..."&vbCrLfl_s_mess=l_s_mess&"-Posezlefasciculesurlatabletted'introduction."&vbCrLfl_s_mess=l_s_mess&"-Plaquezlefasciculecontrelabut闲gauche."&vbCrLfl_s_mess=l_s_mess&"-Amenez関entuellementleguidededroitecontreledocument."&vbCrLfl_s_mess=l_s_mess&"-Poussezlefasciculejusqu'acequ'ilsoitentrain?."&vbCrLfl_s_mess=l_s_mess&"-Attendrequelefasciculesoit閖ect?apr镳impression"&vbCrLf&vbCrLfl_s_mess=l_s_mess&"Encasd'incidentencoursd'impression"&vbCrLfl_s_mess=l_s_mess&"Appuyezsur[CONNEX]puissur[EJECT]"l_s_mess=l_s_mess&"dansl'imprimante"l_i_ret=MsgBox(l_s_mess,vbOKCancel,"Impression")'S'ilachoisid'annulerIf(l_i_ret=vbCancel)Then'SortirdelaboucleExitDoEndIf'Lancerl'impressionducarnetl_b_ret=ImprimerCarnet(l_re!C_NumRadeaux)'Sil'impressionestOKIf(l_b_ret=True)Thenl_re!C_Carnet=l_re!C_Carnet 1l_re.UpdateElse'SortirdelaboucleExitDoEndIfNextl_re.MoveNextLoopl_re.CloseExitSubPublicFunctionTextSQL(ByValp_s_textAsString)AsStringDiml_i_posAsIntegerl_i_pos=1Dol_i_pos=InStr(l_i_pos,p_s_text,"'")Ifl_i_pos=0ThenExitDoEndIfp_s_text=Left$(p_s_text,l_i_pos)&"'"&Mid$(p_s_text,l_i_pos 1)l_i_pos=l_i_pos 2LoopTextSQL="'" p_s_text "'"EndFunction

参考答案:SubGestionImpressionCarnet(Optionalp_s_refOFAsVariant,Optionalp_s_refRadeauAsVariant)
Diml_s_messAsString
Diml_s_sqlAsString
Diml_reAsNewadodb.Recordset
Diml_i_CarnetAsInteger

定义函数
(Sub过程是一个可以获取参数,执行一系列语句以及可改变其参数的值的独立过程。而与Function过程不同之处是:Function过程可以返回值,而Sub过程不能用于表达式中)
定义变量及类型

l_s_sql="SELECT*FROMT_RADEAUXWHERE"
If(NotIsMissing(p_s_refRadeau))Then
l_s_sql=l_s_sql

本周热门栏目

本周热门文章

Copyright © 2007 - 2010 AD.PAOSHANG.COM, Inc.