PDA

View Full Version : نوشتن کد طولانی در دو خط



amiralex
جمعه 11 دی 1394, 12:32 عصر
سلام
من تو تایپیک ها گشتم ولی موردی که بتونه کمک کنه پیدا نکردم ممنون میشم یکی راهنمای کنه

تو این خط کد چطور میتونم در د و خط بنویسمش؟ از کاراکتر _ استفاده کردم نشد
اگر حروف درست نشون نداد ماله فارسی بودنشه با اون مشکی ندارم
فقط میخوام در دو خط بدون خطا کد رو وارد کنم چون خود وی بی وقتی کد طولانی میشه اونو به خط بعدی میبره



adoPrimaryRS8.Open "select [ÇÏíÊ æ ˜Ôä äæíÓí],[ÇÑÇÆå ÎÏãÇÊ Èå ãÔÊÑí],[ÇÓ˜ä Ñæá ãí˜ÑæÝíáã-ãí˜Ñæ ÝíÔ],[ÇÓ˜ä äÇÊíæí],[ÇäÊÎÇÈ æ ˜Ñǁ Ú˜Ó],[ÈÇÒÈíäí ÌÇ˜Ê ÝÑíã ãí˜Ñæ ÝíÔ],[ÈÇÒÈíäí æ ÇÓÊÎÑÇÌ í˜ äÓÎå ÑÓÔäÇãå],[ÈÑäÇãå äæíÓí ÈÇ ÑÓÔäÇãå 20 ÓæÇáí],[ÈÑäÇãå äæíÓí ÈÇ ÑÓÔäÇãå ÈíÔ ÇÒ 20 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÈæáÊä ŽæåÔí ÈíÔ ÇÒ 20 ÕÝÍå Èå ÇÒÇí åÑ 10 ÕÝÍå],[ÈæáÊä ŽæåÔí 20 ÕÝÍå Çí],[ÈæáÊä ÑÇåÈÑÏí 20 ÕÝÍå Çíí],[ÈæáÊä ÑÏÂæÑí 30 ÕÝÍå Çí],[ÈæáÊä ÑÏÂæÑí ÈíÔ ÇÒ 30 ÕÝÍå Èå ÇÒÇí åÑ 10 ÕÝÍå],[ÑÓԐÑí ÊáÝäí ÈíÔ ÇÒ 10 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÑÓԐÑí ÊáÝäí ˜ãÊÑ ÇÒ 10 ÓæÇá],[ÑÓԐÑí ÍÖæÑí æ ÊÍáíáí ãÍÊæÇ ÈíÔ ÇÒ 20 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÑÓԐÑí ÍÖæÑí æ ÊÍáíáí ãÍÊæÇ ÊÇ 20 ÓæÇá], _
[ÊÏæíä ÏÑÌå 1],[ÊÏæíä ÏÑÌå 2],[ÊÏæíä ÏÑÌå 3],[ÊÑÌãå ÇÒ ÝÇÑÓí],[ÊÑÌãå ÇÒ ÝÇÑÓí æíŽå],[ÊÑÌãå Èå ÝÇÑÓí],[ÊÑÌãå Èå ÝÇÑÓí ããÊÇÒ],[ÊÑÌãå Ýíáã ÎÈÑí],ÊæÖíÍÇÊ, ÊæáíÏí,[ÊæáíÏí ããÊÇÒ],[ÌãÚ ÞÇÈá ÑÏÇÎÊ],[ÌãÚ æÇÍÏ],[ÍÝÙ æ äåÏÇÑí ÇÓäÇÏ],[ÏÈíÑí ÎÈÑ],ÏÑíÇÝÊí,[ÏíÈíÑ Ýíáã ÎÈÑ],ÑÏíÝ,ÓÇá,[ÓÇíÑ ÑÏÇÎÊ],[Ú˜Ó ÎÇÕ(ãäÍÕÑ Èå ÝÑÏ ÑæíÇíí)],[Ú˜Ó ˜äÇÑ ÎÈÑ],[ÝÑÂæÑÏå ÎÈÑí ÈÑÌÓÊå], [ÝíáãÈÑÏÇÑí æÔÔí],[ÝíáãÈÑÏÇÑí ÊæáíÏí],[ÝíáãÈÑÏÇÑí æíŽå],Ñæå,[ÒÇÑÔ ŽæåÔí],[ÒÇÑÔ ŽæåÔí ããÊÇÒ],[ÒÇÑÔ ÊÍáíáí],[ÒÇÑÔ ÊÍáíáí ããÊÇÒ],[ÒÇÑÔ ÊÕæíÑí],[ÒÇÑÔ ÊÕæíÑí ÈÑÌÓÊå],[ÒÇÑÔ ÊÕæíÑí ããÊÇÒ],[ÒÇÑÔ ÎÈÑí],[ÒÇÑÔ Ñí Ýíáã],[ÒÇÑÔ ãÓÊäÏ ÊÕæíÑí],[ÒÇÑÔ ãÓÊäÏ ÊÕæíÑí ããÊÇÒ],[ÒÇÑԐíÑí ÈíÔÊÑ ÇÒ 20 ÕÝÍå],[ÒÇÑԐíÑí ˜ãÊÑ ÇÒ 20 ÕÝÍå],[æíäϐí Ýíáã ÎÈÑí],ãÇå,ãјÒ,[ãÕÇÍÈå ÚãÞí ÏÑÌå 1],[ãÕÇÍÈå ãÕÇÍÈå ÚãÞí ÏÑÌå 2],äÇã,[äÇã ÎÇäæÇϐí],[äãÇíå ÓÇÒí æÑæÏ ÇØáÇÚÇÊ Èå äÑã ÇÝÒÇÑ],[æÑæÏ ÏÇÏå åÑ ÂíÊã],[æíÑÇíÔ ÇØáÇÚÇÊ Ú˜ÓåÇí ÞÏíãí],[æíÑÇíÔ ãÊæä ÛíÑ ÝÇÑÓí],˜ÏÑÓäáí from Khoroji3", db, adOpenStatic, adLockOptimistic








138094


138095

alirezabahrami
جمعه 11 دی 1394, 14:14 عصر
سلام
بعلت درست نشان ندادن حروف در کد های شما من از کد نمونه خودم استفاده می کنم .
کد اسکیوال زیر را ملاحظه بفرما که در دو خط نوشته شده :


strSQL = "INSERT INTO tblSideMenuItem (MenuItemText, MenuItemOrder, MenuItemParent, MenuItemAccess) " & _
"VALUES ('" & Forms(Me.Name & "AddItem")!txtMenuItemText & "', " & intMax + 1 & ", " & intParent & ", " & intaccess & ");"


با استفاده از vbCrLf هم میتوانید کد بالا در دو خط بشکنید ، بصورت زیر :


strSQL = "INSERT INTO tblSideMenuItem (MenuItemText, MenuItemOrder, MenuItemParent, MenuItemAccess)" & vbCrLf _
& "VALUES ('" & Forms(Me.Name & "AddItem")!txtMenuItemText & "', " & intMax + 1 & ", " & intParent & ", " & intaccess & ");"



و شکستن کد با استفاده از vbCrLf در یک پیغام :



MsgBox "xxxxxxxxxxxxxxxxxxxxxxxxxxx " & vbCrLf _
, vbOKOnly + vbInformation, "!ÊæÌå"


یا علی

amiralex
جمعه 11 دی 1394, 15:08 عصر
ممنونم از شما ولی مثل اینکه بازم نشد

ممکنه چون این خط کد مربوط به باز کردن دیتابیس باشه عمل نکنه؟

من تو عکس هم نشون دادم . میشه یه نگاه دیگه بندازین؟




adoPrimaryRS8.Open "select [ÇÏíÊ æ ˜Ôä äæíÓí],[ÇÑÇÆå ÎÏãÇÊ Èå ãÔÊÑí],[ÇÓ˜ä Ñæá ãí˜ÑæÝíáã-ãí˜Ñæ ÝíÔ],[ÇÓ˜ä äÇÊíæí],[ÇäÊÎÇÈ æ ˜Ñǁ Ú˜Ó],[ÈÇÒÈíäí ÌÇ˜Ê ÝÑíã ãí˜Ñæ ÝíÔ],[ÈÇÒÈíäí æ ÇÓÊÎÑÇÌ í˜ äÓÎå ÑÓÔäÇãå],[ÈÑäÇãå äæíÓí ÈÇ ÑÓÔäÇãå 20 ÓæÇáí]," & vbCrLf _
& ",[ÈÑäÇãå äæíÓí ÈÇ ÑÓÔäÇãå ÈíÔ ÇÒ 20 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÈæáÊä ŽæåÔí ÈíÔ ÇÒ 20 ÕÝÍå Èå ÇÒÇí åÑ 10 ÕÝÍå],[ÈæáÊä ŽæåÔí 20 ÕÝÍå Çí],[ÈæáÊä ÑÇåÈÑÏí 20 ÕÝÍå Çíí],[ÈæáÊä ÑÏÂæÑí 30 ÕÝÍå Çí],[ÈæáÊä ÑÏÂæÑí ÈíÔ ÇÒ 30 ÕÝÍå Èå ÇÒÇí åÑ 10 ÕÝÍå]" & vbCrLf _
& "[ÑÓԐÑí ÊáÝäí ÈíÔ ÇÒ 10 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÑÓԐÑí ÊáÝäí ˜ãÊÑ ÇÒ 10 ÓæÇá],[ÑÓԐÑí ÍÖæÑí æ ÊÍáíáí ãÍÊæÇ ÈíÔ ÇÒ 20 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÑÓԐÑí ÍÖæÑí æ ÊÍáíáí ãÍÊæÇ ÊÇ 20 ÓæÇá]," & vbCrLf _
& ",[ÊÏæíä ÏÑÌå 1],[ÊÏæíä ÏÑÌå 2],[ÊÏæíä ÏÑÌå 3],[ÊÑÌãå ÇÒ ÝÇÑÓí],[ÊÑÌãå ÇÒ ÝÇÑÓí æíŽå],[ÊÑÌãå Èå ÝÇÑÓí],[ÊÑÌãå Èå ÝÇÑÓí ããÊÇÒ],[ÊÑÌãå Ýíáã ÎÈÑí],ÊæÖíÍÇÊ,ÊæáíÏí,[ÊæáíÏí ããÊÇÒ],[ÌãÚ ÞÇÈá ÑÏÇÎÊ],[ÌãÚ æÇÍÏ]" & vbCrLf _
& ",[ÍÝÙ æ äåÏÇÑí ÇÓäÇÏ],[ÏÈíÑí ÎÈÑ],ÏÑíÇÝÊí,[ÏíÈíÑ Ýíáã ÎÈÑ], ÑÏíÝ,ÓÇá,[ÓÇíÑ ÑÏÇÎÊ],[Ú˜Ó ÎÇÕ(ãäÍÕÑ Èå ÝÑÏ ÑæíÇíí)],[Ú˜Ó ˜äÇÑ ÎÈÑ],[ÝÑÂæÑÏå ÎÈÑí ÈÑÌÓÊå],[ÝíáãÈÑÏÇÑí æÔÔí],[ÝíáãÈÑÏÇÑí ÊæáíÏí],[ÝíáãÈÑÏÇÑí æíŽå],Ñæå,[ÒÇÑÔ ŽæåÔí]" & vbCrLf _
& "[ÒÇÑÔ ŽæåÔí ããÊÇÒ],[ÒÇÑÔ ÊÍáíáí],[ÒÇÑÔ ÊÍáíáí ããÊÇÒ],[ÒÇÑÔ ÊÕæíÑí],[ÒÇÑÔ ÊÕæíÑí ÈÑÌÓÊå],[ÒÇÑÔ ÊÕæíÑí ããÊÇÒ],[ÒÇÑÔ ÎÈÑí],[ÒÇÑÔ Ñí Ýíáã],[ÒÇÑÔ ãÓÊäÏ ÊÕæíÑí],[ÒÇÑÔ ãÓÊäÏ ÊÕæíÑí ããÊÇÒ],[ÒÇÑԐíÑí ÈíÔÊÑ ÇÒ 20 ÕÝÍå]," & vbCrLf _
& "ÒÇÑԐíÑí ˜ãÊÑ ÇÒ 20 ÕÝÍå],[æíäϐí Ýíáã ÎÈÑí],ãÇå,ãјÒ,[ãÕÇÍÈå ÚãÞí ÏÑÌå 1],[ãÕÇÍÈå ãÕÇÍÈå ÚãÞí ÏÑÌå 2],äÇã,[äÇã ÎÇäæÇϐí],[äãÇíå ÓÇÒí æÑæÏ ÇØáÇÚÇÊ Èå äÑã ÇÝÒÇÑ],[æÑæÏ ÏÇÏå åÑ ÂíÊã],[æíÑÇíÔ ÇØáÇÚÇÊ Ú˜ÓåÇí ÞÏíãí],[æíÑÇíÔ ãÊæä ÛíÑ ÝÇÑÓí],˜ÏÑÓäáí] from Khoroji3", db, adOpenStatic, adLockOptimistic

alirezabahrami
جمعه 11 دی 1394, 19:26 عصر
ممنونم از شما ولی مثل اینکه بازم نشد

ممکنه چون این خط کد مربوط به باز کردن دیتابیس باشه عمل نکنه؟

من تو عکس هم نشون دادم . میشه یه نگاه دیگه بندازین؟




adoPrimaryRS8.Open "select [ÇÏíÊ æ ˜Ôä äæíÓí],[ÇÑÇÆå ÎÏãÇÊ Èå ãÔÊÑí],[ÇÓ˜ä Ñæá ãí˜ÑæÝíáã-ãí˜Ñæ ÝíÔ],[ÇÓ˜ä äÇÊíæí],[ÇäÊÎÇÈ æ ˜Ñǁ Ú˜Ó],[ÈÇÒÈíäí ÌÇ˜Ê ÝÑíã ãí˜Ñæ ÝíÔ],[ÈÇÒÈíäí æ ÇÓÊÎÑÇÌ í˜ äÓÎå ÑÓÔäÇãå],[ÈÑäÇãå äæíÓí ÈÇ ÑÓÔäÇãå 20 ÓæÇáí]," & vbCrLf _
& ",[ÈÑäÇãå äæíÓí ÈÇ ÑÓÔäÇãå ÈíÔ ÇÒ 20 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÈæáÊä ŽæåÔí ÈíÔ ÇÒ 20 ÕÝÍå Èå ÇÒÇí åÑ 10 ÕÝÍå],[ÈæáÊä ŽæåÔí 20 ÕÝÍå Çí],[ÈæáÊä ÑÇåÈÑÏí 20 ÕÝÍå Çíí],[ÈæáÊä ÑÏÂæÑí 30 ÕÝÍå Çí],[ÈæáÊä ÑÏÂæÑí ÈíÔ ÇÒ 30 ÕÝÍå Èå ÇÒÇí åÑ 10 ÕÝÍå]" & vbCrLf _
& "[ÑÓԐÑí ÊáÝäí ÈíÔ ÇÒ 10 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÑÓԐÑí ÊáÝäí ˜ãÊÑ ÇÒ 10 ÓæÇá],[ÑÓԐÑí ÍÖæÑí æ ÊÍáíáí ãÍÊæÇ ÈíÔ ÇÒ 20 ÓæÇá Èå ÇÒÇí åÑ ÓæÇá],[ÑÓԐÑí ÍÖæÑí æ ÊÍáíáí ãÍÊæÇ ÊÇ 20 ÓæÇá]," & vbCrLf _
& ",[ÊÏæíä ÏÑÌå 1],[ÊÏæíä ÏÑÌå 2],[ÊÏæíä ÏÑÌå 3],[ÊÑÌãå ÇÒ ÝÇÑÓí],[ÊÑÌãå ÇÒ ÝÇÑÓí æíŽå],[ÊÑÌãå Èå ÝÇÑÓí],[ÊÑÌãå Èå ÝÇÑÓí ããÊÇÒ],[ÊÑÌãå Ýíáã ÎÈÑí],ÊæÖíÍÇÊ,ÊæáíÏí,[ÊæáíÏí ããÊÇÒ],[ÌãÚ ÞÇÈá ÑÏÇÎÊ],[ÌãÚ æÇÍÏ]" & vbCrLf _
& ",[ÍÝÙ æ äåÏÇÑí ÇÓäÇÏ],[ÏÈíÑí ÎÈÑ],ÏÑíÇÝÊí,[ÏíÈíÑ Ýíáã ÎÈÑ], ÑÏíÝ,ÓÇá,[ÓÇíÑ ÑÏÇÎÊ],[Ú˜Ó ÎÇÕ(ãäÍÕÑ Èå ÝÑÏ ÑæíÇíí)],[Ú˜Ó ˜äÇÑ ÎÈÑ],[ÝÑÂæÑÏå ÎÈÑí ÈÑÌÓÊå],[ÝíáãÈÑÏÇÑí æÔÔí],[ÝíáãÈÑÏÇÑí ÊæáíÏí],[ÝíáãÈÑÏÇÑí æíŽå],Ñæå,[ÒÇÑÔ ŽæåÔí]" & vbCrLf _
& "[ÒÇÑÔ ŽæåÔí ããÊÇÒ],[ÒÇÑÔ ÊÍáíáí],[ÒÇÑÔ ÊÍáíáí ããÊÇÒ],[ÒÇÑÔ ÊÕæíÑí],[ÒÇÑÔ ÊÕæíÑí ÈÑÌÓÊå],[ÒÇÑÔ ÊÕæíÑí ããÊÇÒ],[ÒÇÑÔ ÎÈÑí],[ÒÇÑÔ Ñí Ýíáã],[ÒÇÑÔ ãÓÊäÏ ÊÕæíÑí],[ÒÇÑÔ ãÓÊäÏ ÊÕæíÑí ããÊÇÒ],[ÒÇÑԐíÑí ÈíÔÊÑ ÇÒ 20 ÕÝÍå]," & vbCrLf _
& "ÒÇÑԐíÑí ˜ãÊÑ ÇÒ 20 ÕÝÍå],[æíäϐí Ýíáã ÎÈÑí],ãÇå,ãјÒ,[ãÕÇÍÈå ÚãÞí ÏÑÌå 1],[ãÕÇÍÈå ãÕÇÍÈå ÚãÞí ÏÑÌå 2],äÇã,[äÇã ÎÇäæÇϐí],[äãÇíå ÓÇÒí æÑæÏ ÇØáÇÚÇÊ Èå äÑã ÇÝÒÇÑ],[æÑæÏ ÏÇÏå åÑ ÂíÊã],[æíÑÇíÔ ÇØáÇÚÇÊ Ú˜ÓåÇí ÞÏíãí],[æíÑÇíÔ ãÊæä ÛíÑ ÝÇÑÓí],˜ÏÑÓäáí] from Khoroji3", db, adOpenStatic, adLockOptimistic





سلام
بنظر میرسد ازعنوان فارسی برای نام فیلدها استفاده کرده باشید که اگر چنین باشد پیشنهاد میکنم هرچه سریعتر در این خصوص تجدید نظر نمود و نامهای لاتین را جایگزین نامهای فارسی نمائید.
نمیدانم با کدهای اسکیوال تا چه اندازه آشنائی دارید . بعضی مواقع درمتد SELECT بجای ذکر نام همه فیلدهای یک جدول میتوانید از علامت یک ستاره(*) استفاده کنید مثلاً SELECT * FROM TABLE1 که در این کد همه فیلدهای جدول 1 انتخاب میشود .
این مورد را بدین لحاظ عرض کردم که از این طریق طول یک کد اسکیوال را را کمتر نمائید .
علی ایحال اگر از شیوه های ذکر شده در پست 2 نتوانستید درست استفاده کنید یک راهکاردیگر به شما پیشنهاد میدهم و آن اینکه یک متغیر با عنوان StrSQL از نوع استرینگ معرفی کنید و کد طولانی اسکیوال را به چند قطعه تبدیل نمائید و قطعه اول را مساوی متغیر فوق قرار بدهید و در قطعه های بعد علاوه بر این کار باید قطعه قبل نیز اضافه گردد .
یک مثال :
فرض میکنیم کد شما همانند کد زیر برای باز کردن رکوردست باشد :



Rs.Open "SELECT ID,GroupName,Fname,LName,Company,T_H,T_O,T_M,Fax,A dd_M,Add_O,Sex,Tahsilat,Birthdate,Living,Website,W eblog,Mail FROM TblMember ORDER BY ID ASC", Conn, adOpenStatic, adLockOptimistic


باشیوه ای که پیشنهاد شد کد فوق بصورت زیر در میآید :


Dim StrSQL As String
StrSQL = "SELECT ID,GroupName,Fname,LName,"
StrSQL = StrSQL & "Company,T_H,T_O,T_M,Fax,Add_M,Add_O,Sex,Tahsilat,B irthdate,"
StrSQL = StrSQL & "Living,Website,Weblog,Mail FROM TblMember ORDER BY ID ASC"
rs.Open StrSQL, Conn, adOpenStatic, adLockOptimistic


ملاحظه می نمائید که یک خط کد ذکر شده به چهار خط تبدیل شد.

ضمناً توجه داشته باشد طریقه استفاده از آندرلاین در انتهای هر خط به این صورت است که در انتهای خط، باید یک space بزنید، بعد یک Underline و بعد هم Enter بزنید.
یا علی