מחיקת שורה מ-DataGrid

מחיקת שורה מ-DataGrid

אני מעוניין למחוק שורה בטבלת נתונים ע"י בחירתה דרך DataGrid שמחוברת אליה ע"י פקד ADO. כרגע המחיקה מתבצעת ללא בעיה ע"י לחיצה על מקש ה-delete במקלדת. אבל אני מעוניין למחוק שורה שבחר המשתמש ע"י העכבר או ע"י חיצי הלמעלה או למטה. לאחר הבחירה במשתמש ילחץ על פקד כפתור, שיבצע את המחיקה (ראו תמונה) כמה שאלות: 1. איך אני מזהה את השורה שניבחרה? כלומר-לאיזו שיטה של הDATAGRID עליי לפנות כדי לקבל את הנתון הזה, ואיך זה מתבצע? את נתון השורה עליי להזין בשורת SQL בשיגרת ה-CLICK של פקד הכפתור -נכון? 2. איך מבצעים REFRESH לDATAGRID, שיציג את הטבלה המעודכנת לאחר המחיקה? אשמח אם העוזרים יוכלו לתת דוגמה להסברם, אני ברמת מתחיל ב-VB.
 

מס1

New member
עושים רענון לפקד ה ADO

DATAGRID מגדירים רק פעם אחת ומייבאים את השדות ולא את הנתונים עצמם
 
האם כוונתך ש..

עליי לכתוב ADODC1.Refresh? ועדיין נותרה השאלה-איך אני קורם לכך שלחיצה על פקד כפתור, תמחק את השורה שהמשתמש סימן ב-DATAGRID?
 

מס1

New member
המחיקה היא מהטבלה ע"י

משפט SQL ואחר כך רענון הפקד ADODC1 אם תסתבך תעלה קוד ונסתכל מה לא בסדר
 
ברור לי שמחיקה היא מהטבלה..

תודה, אבל אני מעוניין שהשורה שתימחק, תיקבע לפי הבחירה שמבצע המשתמש ב-DATAGRID. כלומר-בוחר שורה מה-DATAGRID, ולוחץ על כפתור המחיקה בטופס (להלן "מחק פריט"). איך אני מזהה את השורה שניבחרה? ברגע שאזהה אותה, אכניס את זיהויה לשגרת ה-CLICK של כפתור המחיקה "מחק פריט". הפעולה בעצם תהיה זהה בעצם לפעולת המחיקה שמתבצעת אם אסמן שורה ב-DATAGRID, ואלחץ על מקש ה-DELETE במקלדת. אני מקווה שהבהרתי את עצמי יותר.
 
אף אחד לא יודע ?

איך אני מזהה שורה שניבחרה ב-DATAGRID, כדי להשתמש בנתון הזה למחיקת השורה מטבלת ה-ACCESS עצמה?
 
אתה דתי ?

לכל שבת יש מוצאי שבת..
יש רעיונות?
 

מס1

New member
ישנה גם אפשרות במאפיינים

האם הגדרת ALLOE DELETE =TRUE וכן יש אפשרות לבדוק בעמודה מה הערך שקיים ועושים אירוע של לחיצה או לחצה כפולה על השורה וקוראים את הערך הנכון ולפי זה מוחקים
 
כן הגדרתי ALLOW DEL=TRUE

זה מה שאיפשר לי למחוק שורה ע"י לחיצה על מקש ה-DELETE. עדיין לא הבנתי איך אני מזהה את השורה שלחצתי עליה? תוכל לתת דוגמה?
 

מס1

New member
ואפשר למצוא את השורה גם כך

yourform.grdDataGrid.Columns(x)​
רק אל תשכח שהעמודות מתחילות מאפס ולא מאחד
 

מס1

New member
תנסה כך

תעמוד על שורה תקליק עליה ותבדוק מה הערך שאתה מקבל בעמודה(0) כמובן תסתכל על ה VALUE ותראה שהערך אכן מתאים לשורה שהקלקת עליה פשוט תדבג את התוכנית לאירוע קליק ותראה כמה זה פשוט לחילופין כווץ את הפרוייקט עם קצת רשומות בבסיס הנתונים ונוכל לעזור לך מהר יותר
 

מס1

New member
תסתכל בזה

Private Sub DataGrid1_Click() Name = DataGrid1.Columns(0).CellValue End Sub​
במשתנה Name תקבל את הערך מהשורה שעליה אתה עומד
 
מכיוון...

שבאמת אין לי מושג על מה אתה מדבר
(מתחיל, כבר אמרתי?), שמעתי לעצתך וצרפתי את הפרוייקט (לשנות את הסיומת ל-zip). הפרוייקט הוא בשלביו המאוד ראשוניים - ומה שנורא הוא שאני אמור להגיש אותו עוד חודש וחצי -אני דיי מיואש
הטופס הוא frmCustomer, ומדובר על ה-DATAGRID התחתון (פריטים מושכרים). בהרצה, מגיעים אליו ע"י לחיצה על "כרטיס לקוח".
 
לא, אבל ניסיתי,וקיבלתי את זה(מצורף)

זה הקוד שהוספתי
Private Sub DataGrid1_Click() DataGrid1.RecordSelectors = True Debug.Print Name = DataGrid1.Columns(0).CellValue End Sub​
השגיאה קורית כשאני עושה קליק על ה-DATAGRID.
 
למעלה