Thread View: pl.comp.bazy-danych.msaccess
2 messages
2 total messages
Started by Marek Olkowski
Tue, 03 Apr 2018 13:26
err 91 co jest skopane
Author: Marek Olkowski
Date: Tue, 03 Apr 2018 13:26
Date: Tue, 03 Apr 2018 13:26
99 lines
2603 bytes
2603 bytes
Witam czy ktoś może mnie nakierować. przy 6 edycji wywala 91 albo 3003 funkcja umieszczona w module wywoływana w formularzu jak poniżej If mRecordset.LanEditFrm(Me, "KartotekaTowaru", "Pr_Id", Me.lstKartoteka.Column(0), DB_LONG) = True Then end if ........... moduł.......... Public Function LanEditFrm(frm As Form, domain, keyName As String, whereValue As String, KeyNameType As String, _ Optional keyName2 As String, Optional whereValue2 As String, Optional KeyName2Type As String, _ Optional OrderBy As String) As Boolean Dim rs As Recordset Dim db As Database Dim ctl As Control Dim vartemp As Variant Dim strSQL As String strSQL = mSQLString.SQLString(domain, keyName, whereValue, KeyNameType, _ keyName2, whereValue2, KeyName2Type, _ OrderBy) 'sprawdzi czy istnieją rekordy On Error GoTo ErrorHandler 'Otwarcie połączenia utworzenie rs Set db = CurrentDb() Set rs = db.OpenRecordset(strSQL, dbOpenDynaset) If rs.RecordCount = 0 Then ' jeśli brak rekordów MsgBox "Brak danych !!", vbInformation, "komunikat " Else 'Edytowanie rekordu rs.Edit 'Iteracja poprzez poszczególne pola formularza, których nazwy 'odpowiadają ' nazwom elementów obiektu Recordset For Each ctl In frm.Controls 'pola nie ma w formularzu - błąd On Error Resume Next Err = 0 ctl.Value = rs.Fields(ctl.Name) If Err = 0 Then On Error GoTo ErrorHandler End If Next End If ' posprzataj rs.Close db.Close 'Set rs = Nothing 'Set db = Nothing LanEditFrm = True GoTo Done ErrorHandler: If Err = 3003 Then ' zbyt wiele zagnieżdzonych tranzakcji rs.Close db.Close Set rs = Nothing Set db = Nothing End If MsgBox "Error :" & " mRecordset.EditFrm" & " " & domain & " " & _ Err.Number & vbCrLf & vbCrLf & Err.Description, vbInformation, LoadString(BazaNazwa) Done: End Function Pozdrawiam Marek
Re: err 91 co jest skopane
Author: Marek Olkowski
Date: Sun, 08 Apr 2018 11:30
Date: Sun, 08 Apr 2018 11:30
73 lines
1969 bytes
1969 bytes
Public Function LanEditFrm(frm As Form, domain, keyName As String, whereValue As String, KeyNameType As String, _ Optional keyName2 As String, Optional whereValue2 As String, Optional KeyName2Type As String, _ Optional OrderBy As String) As Boolean ' edycja jednego recordu wg strSQL Dim rs As DAO.Recordset Dim ctl As Control Dim vartemp As Variant Dim StrSQL As String StrSQL = mSQLString.SQLString(domain, keyName, whereValue, KeyNameType, _ keyName2, whereValue2, KeyName2Type, _ OrderBy) On Error GoTo ErrorHandler 'Otwarcie połączenia utworzenie rs Set rs = CurrentDb.OpenRecordset(StrSQL, dbOpenDynaset) 'sprawdzi czy istnieją rekordy If rs.RecordCount = 1 Then 'Iteracja poprzez poszczególne pola formularza, których nazwy odpowiadają ' nazwom elementów obiektu Recordset For Each ctl In frm.Controls 'pola nie ma w formularzu - błąd On Error Resume Next Err = 0 ctl.Value = rs.Fields(ctl.Name) If Err = 0 Then On Error GoTo ErrorHandler End If Next Else ' jeśli brak rekordów lub więcej jak jeden wyswietl komunikat MsgBoxID EditFalse, vbInformation, LoadString(BazaNazwa) End If Exit Function ErrorHandler: MsgBox "Error :" & " mRecordset.EditFrm" & " " & _ Err.Number & vbCrLf & vbCrLf & Err.Description, vbInformation, LoadString(BazaNazwa) End Function to pracuje
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads