יש לי שאלה
אני בונה פרויקט ספריה באקסס..ולפעמים בחלק משיגרות האירוע בטפסים אני צריך להשתמש בקוד vb, וספציפית יותר קוד לעבודה אם מאגרי נתונים.. ישבתי יומיים עד הקוד בטופס אחד עד שמצאתי את זה וזה עבד: ====================================================================
אני בונה פרויקט ספריה באקסס..ולפעמים בחלק משיגרות האירוע בטפסים אני צריך להשתמש בקוד vb, וספציפית יותר קוד לעבודה אם מאגרי נתונים.. ישבתי יומיים עד הקוד בטופס אחד עד שמצאתי את זה וזה עבד: ====================================================================
Private Sub back__AfterUpdate() If Me.back_.Value = True Then Me.actual_return_date = Date Me.book_quanty = Me.book_quanty + 1 Dim st As String Set cn = New ADODB.Connection Set rs = New ADODB.Recordset Dim x, y As Integer x = Me.book_code y = Me.book_quanty + 1 st = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\db1.mdb;" cn.ConnectionString = st cn.Open rs.Open "select * from [books] where [books].book_code = '" & x & "'", _ cn, adOpenDynamic, adLockOptimistic rs.Fields("book_quanty").Value = y rs.Update rs.Close cn.Close Me.Recalc End If End Sub
ועכשיו בעוד טופס נוסף אני רוצה גם לעשות משהו ב"ויבי" רק שעכשיו השיטה הזאת לא מתאימה לייותר כי אני לא יודע איך בעזרתה אני מחפש רשומות, אני רוצה להשתמש בשיטה אחרת שהיא:Private Sub MSFlexGrid1_Click() Dim x As Variant, answer As Variant, y As Variant Set mov_snif = dbmovie.OpenRecordset("mov_in_snif", dbOpenTable) Set mov_company = dbmovie.OpenRecordset("mov_database", dbOpenTable) x = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) y = Combo1.Text mov_snif.Index = "PrimaryKey" mov_snif.Seek "=", x, y If Not mov_snif.NoMatch Then mov_company.Index = "PrimaryKey" mov_company.Seek "=", x If Not mov_company.NoMatch Then If MsgBox("do u want to delete movie - " & mov_company!mov_name & " from snif # " & mov_snif!snif_code & " ? ", vbYesNo) = vbYes Then mov_snif.Delete If MSFlexGrid1.Rows <> 2 Then MSFlexGrid1.RemoveItem (MSFlexGrid1.Row) Else MSFlexGrid1.Rows = 1 End If mov_company.Edit mov_company!copys = mov_company!copys + 1 mov_company.Update End If End If End If End Sub
הקטע שאת התוכנית(קטע קוד) השני כתבתי לפרויקט שבו הטפסים היו מעוצבים כבר בויבי כלומר הקובץ אקסס בכלל לא היה פתוח אלא הפרויקט היה "כאילו" פותח אותו ועכשיו כשאני מנסה ליישם את הדבר הזה בטופס הקיים שלי זה אומר לי שהקובץ כבר פתוח בידי משתמש אחר ואין באפשרותו לפתוח שנית...איך אני עושה שהקוד הזה יעבוד אפילו שהפרויקט פתוח?