title image


Smiley VBA Problemchen, Wunder, oder ich bin einfach zu blöd
Hallo zusammen!

Ich hab da ein kleines Problemchen mit einer Ereignisprozedur. Vorweg: Es gibt zwei Tabellen, einmal Kunden und einmal Artikel und die dazu "passenden" Formulare. KdNr und ArtNr sind die jeweiligen Primärschlüssel.

Texte der MsgBoxen sind mir vorgegeben worden;-)



Diese Prozedur funktioniert:



Option Compare Database



Private Sub KdNr_AfterUpdate()

Dim db As DAO.Database

Dim rs As DAO.Recordset

Dim strSQL As String

Dim strKdNr As String

Dim Wahl As String



strKdNr = KdNr

Set db = CurrentDb()



strSQL = "Select * From Kunden Where Kunden.KdNr = " & Str(strKdNr)

Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)



On Error GoTo Ende

Wahl = MsgBox("Sorry, diese KdNr " & rs!KdNr & " ist bereits belegt mit " & rs!Firma & vbCr & vbCr & _

"Geben Sie bitte eine neue KdNr ein!" & vbCr & vbCr & "[OK] setzt den Cursor für eine Neueingabe in das Feld KdNr " _

& vbCr & "[Abbrechen] öffnet eine Liste der bereits vergebenen KdNr.", vbOKCancel + vbExclamation, _

"Doppelter Primärschlüssel")

If Wahl = vbOK Then

Firma.SetFocus

KdNr = ""

KdNr.SetFocus

Else

Firma.SetFocus

KdNr = ""

KdNr.SetFocus

DoCmd.OpenQuery "KdListe", , acReadOnly

End If



Ende:

rs.Close

Exit Sub

End Sub











Diese nicht:













Option Compare Database



Private Sub ArtNr_AfterUpdate()

Dim db As DAO.Database

Dim rs As DAO.Recordset

Dim strSQL As String

Dim strArtNr As String

Dim Wahl As String



strArtNr = ArtNr

Set db = CurrentDb()



strSQL = "Select * From Artikel Where Artikel.ArtNr = " & Str(strArtNr)

Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)



On Error GoTo Ende



Wahl = MsgBox("Sorry die Artikelnummer " & rs!ArtNr & "ist bereits belegt mit dem Artikel" _

& rs!Art_Bez & vbCr & "Zum Preis von: " & rs!St_Preis & vbCr & vbCr & _

"[Beenden]Damit schliessen Sie das Formular und löschen die Eingabe." & vbCr & _

"[Wiederholen]Geben Sie eine neue Nummer ein!" & vbCr & "[Ignorieren] Versuchen Sie es!", _

vbAbortRetryIgnore, vbExclamation, "Doppelter Primärschlüssel")



If Wahl = vbAbort Then

Close (Artikel)

End If

If Wahl = vbRetry Then

Art_Bez.SetFocus

ArtNr = ""

ArtNr.SetFocus

End If

If Wahl = vbIgnore Then

MsgBox "Sie könne diesen Fehler nicht ignorieren!" & vbCr & _

"Sie müssen eine korrekte Nummer eingeben!" & vbCr & _

"Klicken Sie auf [OK] und Sie können eine neue Nummer eingeben." & vbCr & vbCr & _

"Schlagen Sie später in der Online- Hilfe unter Primärschlüssel nach!", vbOKOnly

End If



Ende:

rs.Close

Exit Sub



End Sub









Kann mir einer sagen woran das liegt? Ist bestimmt nur ein ganz dummer Fehler, aber ich finde ihn nicht!










geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: