היי - שאלה

Sole Survivor

New member
היי - שאלה

con1.Open rectblscorecord.CursorType = adOpenDynamic rectblscorecord.MoveFirst i = 0 Do Until rectblscorecord.EOF rectblscorecord!Name = lblname(i).Caption rectblscorecord!score = lblscore(i).Caption rectblscorecord.MoveNext i = i + 1 Loop
יש לי את הקוד הבא. אני רוצה להכניס לטבלה שנמאת בבסיס הנתונים את הנתונים שעל הטופס. איך אני מאפשרת שיהיה אפשר לשמור נתונים בבסיס הנתונים (של אקסס) בעיקרון הבעיה בריצה מראה שאי אפשר להפעיל את הפקודה movefirst מבלי לפתוח קישור תודה מראש ועוד שאלה קטנה: יש לי בפרויקט type שבניתי ואחד הרשומות בtype מסוג string והיא מכילה את tag של תמונה מסויימת בפתיחת טופס מסויים אני רוצה להכניס לimage שיצרתי מראש את אותו type בפקודה הבאה imgplypic(j).Picture = LoadPicture(players(j).img) כאשר באותו type נמצא app.path & "\players\backpacker1.jpg" הבעיה היא שהתוכנית לא רצה בגלל אותו app.path ושוב תודה מראש​
 

Sole Survivor

New member
קצת סדר...

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

שלמה47

New member
addnew ו update

בלולאת do צריך להיות בהתחלה פקודת addnew משהו כמו: YourRecordset.Addnew ולפני פקודת ה movenext פקודת העידכון YourRecordset.update
 

Sole Survivor

New member
בעיקרון

אני לא צריכה להוסיף חדש אני צריכה לעבור על רשומות בטבלה שבבסיס הנתונים ולבדוק אם נתון מהטופס גדול מהערך של התא בטבלה ברשומה מסוימת ואז אני צריכה לעדכן את הטבלה - הרשומה שנבדקה אחרונה באותו נתון מהטופס.. מקווה שיותר ברור
 

Sole Survivor

New member
תגובה

con3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\dbtheamazinggame.MDB;" con3.Open rectblscorecord.CursorType = adOpenDynamic rectblscorecord.LockType = adLockBatchOptimistic rectblscorecord.MoveFirst Do Until rectblscorecord.EOF If players(maxind).score > rectblscorecord.Fields(2).Value Then rectblscorecord.AddNew להכניס את מה שבplayers לרשומה rectblscorecord.Update Exit Do Else rectblscorecord.MoveNext End If Loop |זה בעיקרון מה שאני מנסה לעשות ובריצה השגיאה שעולה זה שאי אפשר לבצע movefirst שהאובייקט סגור​
 

שלמה47

New member
חסר פתיחה לרקורדסט

יש בקוד פקודת פתיחה ל connection אך אין פקודה פתיחה לרקורדסט עם משפט SQL מתאים. משהו בסגנון של
YourRecordset.Open("SELECT * FROM YourTable")​
 

Sole Survivor

New member
תגובה

con3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\dbtheamazinggame.MDB;" con3.Open rectblscorecord.CursorType = adOpenDynamic rectblscorecord.LockType = adLockBatchOptimistic rectblscorecord.ActiveConnection = con3 rectblscorecord.Open "SELECT * FROM tblscorecord" rectblscorecord.MoveFirst Do Until rectblscorecord.EOF If players(maxind).score > rectblscorecord.Fields(2).Value Then rectblscorecord.AddNew rectblscorecord.Update Exit Do Else rectblscorecord.MoveNext End If Loop עכשיו זה לא עושה לי שגיאה אבל זה גם לא מעדכן לי את הטבלה באקסס ולפי התנאי if שרץ אז הפעולות בתוך התנאי כן היו צריכות להתקיים בעיקרון אני צריכה שכאשר התנאי מתקיים אז לתוך הרשומה הנוכחית שנבדקה יתעדכנו נתוני הtype מהטופס כש type הוא 2 רשומות של שם וניקוד והטבלה באקסס מורכבת משתי שדות שם וניקוד​
 

שלמה47

New member
בין שתי שורות הקוד שלך

לא הוכנס שום נתון שאפשר יהיה להוסיפו ולעדכנו בטבלת האקסס
rectblscorecord.AddNew כאן חסר משהו rectblscorecord.Update​
למשל
YourRecordset!YourField=YourLabel.Caption​
 

Sole Survivor

New member
עדיין לא מעדכן

con3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\dbtheamazinggame.MDB;" con3.Open rectblscorecord.CursorType = adOpenDynamic rectblscorecord.LockType = adLockOptimistic rectblscorecord.ActiveConnection = con3 rectblscorecord.Open "SELECT * FROM tblscorecord" rectblscorecord.MoveFirst Do Until rectblscorecord.EOF If players(maxind).score > rectblscorecord.Fields(2).Value Then rectblscorecord.AddNew rectblscorecord!Name = players(maxind).txt rectblscorecord!score = players(maxind).score rectblscorecord.Update Exit Do Else rectblscorecord.MoveNext End If Loop אולי צריך משפט קוד שיגדיר שהטבלה היא לא רק לקריאה אלא גם לכתיבה? איך עושים זאת?​
 

Sole Survivor

New member
תודה../images/Emo13.gif

פשוט לא היה צריך את הadd new עכשיו נישאר לי רק את הבעיה הראשונה לפתור- והפרויקט מוכן....
 

Sole Survivor

New member
הבעיה שמופיעה בתצלום מסך השלישי

open put close bad record number מראה השגיאה
 

Sole Survivor

New member
שאלת open file

בקובץ המצורף ישנה הבעיה בעיקרון מה שניסיתי לעשות: אני רוצה לשמור 2 מערכים בוליאנים מערך string מערך של type ושני משתני integer על 5 קבצים כדי שאוכל להשתמש בהם בפתיחה של הקובץ ולהמשיך מאותו מקום של ערכי המשתנים איך אפשר לפתור את השגיאה מהתצלום? ואיך שומרים המשתנים הללו על קובץ? תודה מראש
 

Sole Survivor

New member
ועוד שגיאה שעולה לי באותו נושא

זה על bad len record ומה שכן ניכנס לקובץ מופיע כקווים קצרים ברצף (המערך הבוליאני מההודעה מעל - שיניתי אותו לסוג integer והכנסתי לו ערכי של 0 או 1) ועדיין מופיעות לי השיאה של ה-len והשגיאה מההודעה למעלה בבקשה... תודה מראש!
 
למעלה