עזרה בvb+access

sumoking

New member
עזרה בvb+access

שלום רשמתי פקודת sql כדי למחוק בעזרת vb מהטבלת אקסס עכשיו משום מה הוא לא מוחק לי
 

sumoking

New member
שכחתי את הקוד חחחחח

MsgBox adoDeleteOved.Recordset.Fields("id") Ssql = "Delete From ovdim Where " & "txtId.Text" & "=" & adoDeleteOved.Recordset.Fields("id") adoDeleteOved.CommandType = adCmdText adoDeleteOved.RecordSource = Ssql adoDeleteOved.Refresh
 

sumoking

New member
הבעיות שהוא מציג הן:

הוא אומר שהrefresh מיותר ואחרי שאני מוריד אותו הוא לא נותן שום הודעת שגיאה אך המחיקה אינה מתבצעת
 

בסג

New member
אבל הגרשיים מיותרות. אתה רוצה להעביר ערך,לא?

 

sumoking

New member
מה ז"א?

אני רוצה שהוא ייראה את הערך שיש ב txtId.text וייחפש אותו באקסס, אחרי שהוא מוצא אותו באקסס עליו למחוק את השורה שם. וגם לאחר שהורדתי את הגרשיים זה לא מבצע את הפעולה אם תוכל להשאיר איסי או מסנג'ר לעזרה יותר אפקטיבית אני אשמח=] תודה
 

ארזירון

New member
דוגמא והסבר לגרשיים

(ליישור קוד לשמאל יש להשתמש ב-[תחילת קוד] ו-[סיום קוד]) אז זה הקוד שלך:
MsgBox adoDeleteOved.Recordset.Fields("id") Ssql = "Delete From ovdim Where " & "txtId.Text" & "=" & adoDeleteOved.Recordset.Fields("id") adoDeleteOved.CommandType = adCmdText adoDeleteOved.RecordSource = Ssql adoDeleteOved.Refresh​
השורה הבעייתית שלך היא:
Ssql = "Delete From ovdim Where " & "txtId.Text" & "=" & adoDeleteOved.Recordset.Fields("id")​
שבה אתה בעצם מגדיר מה קורה. הבעיה שלך עם הגרשיים זה שאתה משרשר מחרוזת, ולא את הערך שבתיבת טקסט. זה צריך להיות:
Ssql = "Delete From ovdim Where id = '" & txtId.Text & "' "​
ולשם ההבהרה, יש גרש בודד ( ' ) שעוטף את הערך (מה שיגיע מתיבת הטקסט). שם השדה יכול להיות כתוב בקוד - id - ולא צריך adoDeleteOved.Recordset.Fields כיון שזה יספק לך את הערך, ולא את שם השדה. הסיבה שצריך את שם השדה זה כדי שתוכל להשוות למשהו ספציפי, במקרה שלך היה כתוב משהו כמו "1 = 3" ולכן זה לא מחק לך כלום....
 
למעלה