[ DarkMan @ 29.09.2004. 00:12 ] @
U proceduri Form_Error jedino sto se dobije je kod greske ali ne i njen tekst.
Problema nema kada je kod greske jedinstven ali na primer za sledece dve greske kod je isti:

Cannont insert the value NULL into column 'CENA', table 'MojaBaza.dbo.Artikli'l; column does not allow nulls. INSERT fails.

Cannont insert the value NULL into column 'NAZIV', table 'MojaBaza.dbo.Artikli'l; column does not allow nulls. INSERT fails.

Da li postoji neki objekat koji sadrzi ove tekstulne opise greske ?
Trebaju mi da ih analiziram i na osnovu naziva kolone izbacim svoju poruku da u toj i toj koloni nije uneta vrednost.

Objekat Err se ovde ne moze iskoristiti a ni AccessError funkcija mi ne vraca ove greske.
[ Simke @ 29.09.2004. 07:42 ] @
Pazi, provera verdnosti koje se upisuju u tabelu UVEK treba da se radi pre upisivanja, a ne metodom trial-and-error.
Znaci pre nego sto pozoves insert, prvo proveri vrednosti koje imas, i ako je sve u redu onda uradi insert.
[ DarkMan @ 29.09.2004. 10:38 ] @
I to je jedno resenje ali ja ipak hocu da procitam MSSQL poruku o gresci.
Verovatno postoji neko resenje. Kada sam koristio Borland C++ Builder imao sam pristup ovoj poruci.
[ Zidar @ 30.09.2004. 20:49 ] @
Mozes da koristis JET Error collection, otprilike ovako. Primer je iz Access Helpa, za error keyword. To bi trebalo da pohvata multiple greske koje posalje anzad SQL.

Code:

Sub DescriptionX()

    Dim dbsTest As DAO.Database
    
    

    On Error GoTo ErrorHandler

    ' Intentionally trigger an error.
    Set dbsTest = OpenDatabase("NoDatabase")

    Exit Sub

ErrorHandler:
    Dim strError As String
    Dim errLoop As DAO.Error

    ' Enumerate Errors collection and display properties of
    ' each Error object.
    For Each errLoop In Errors
        With errLoop
            strError = _
                "Error #" & .Number & vbCr
            strError = strError & _
                "  " & .Description & vbCr
            strError = strError & _
                "  (Source: " & .Source & ")" & vbCr
            strError = strError & _
                "Press F1 to see topic " & .HelpContext & vbCr
            strError = strError & _
                "  in the file " & .HelpFile & "."
        End With
        MsgBox strError
    Next

    Resume Next

End Sub
[ DarkMan @ 01.10.2004. 00:36 ] @
Ovo funkcionise samo ako se koristi cist access tj. MSJET.
Da bi taj kod uopste proradio u access project-u mora se referencirati 'Microsoft DAO 3.6' i kada dodje do greske i otpocne procedura Form_Error ova Errors kolekcija je prazna.

Inace ako necu da referenciram DAO mogu se koristiti umesto DAO.Error ADODB.Error a umesto Errors Application.DBEngine.Errors. Ali i na ovaj naci se ne dobija nista.

Verovatno nije ni predvidjeno da se mogu uhvatiti ove poruke o gresci inace bi u Form_Error pored koda greske bio prosledjen i opis greske (kao u C++).

U svakom slucaju koriscenjem Simketovog predloga sam obavio posao.