Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Erkenne Fehler in Code nicht

Begonnen von swimmingball, September 08, 2011, 16:54:23

⏪ vorheriges - nächstes ⏩

swimmingball

Hallo,

also der fehlerhafte Code sieht folgendermaßen aus:

Private Sub cmdDeleteFromlstVG_Click()
   
    If Not IsNull(Me.lstVG) Then
        If MsgBox("Möchten sie die markierte Ansprechperson dauerhaft" & vbCrLf & _
                    "aus der Liste der Ansprechpersonen entfernen?", vbYesNo + vbDefaultButton2, _
                    "Ansprechpersonen der Verbandsgemeinden") = vbNo Then
           
        Else
            CurrentDb.Execute "DELETE * FROM tblAnspVG WHERE PERS_F=" & Me.lstVG & " AND VG_F=" & Me.lstVG.Column(3)
            Me.lstVG.Requery
            Me.lstVG = Null
            Me.cboPNameVG = Null
        End If
   
    End If


End Sub


Ich habe ihn nur mit anderen Felder und Tabellenpfaden ersetzt und die Abteilung herausgenommen. Originalcode von database:

Private Sub cmdDeleteFromList_Click()

    If Not IsNull(Me.lstGemAnsp) Then
        If MsgBox("Möchten sie die markierte Ansprechperson dauerhaft" & vbCrLf & _
                    "aus der Liste der Ansprechpersonen entfernen?", vbYesNo + vbDefaultButton2, _
                    "Ansprechpersonen der Gemeinden") = vbNo Then
            Exit Sub
        Else
            CurrentDb.Execute "DELETE * FROM tblAnspGde WHERE PERS_F=" & Me.lstGemAnsp & " AND GDE_F=" & Me.lstGemAnsp.Column(3)
            Me.lstGemAnsp.Requery
            Me.lstGemAnsp = Null
            Me.cboAbteilung = 0
            Me.cboPerson = Null
        End If
   
    End If


End Sub


Wo habe ich einen Fehler gemacht? Habe auch mit den anderen Löschcodes verglichen die ja alle nach dem gleichen System sind. Bei dem Speichercode wo ich auch nur die Felder und Tabellenpfade ersetzt habe klappte alles einbandfrei.

Liebe Grüße
Henrik

bahasu

Hi,

wie lautet denn der Fehler?

Exit Sub fehlt bei dir im ersten If ... Teil

Harald
Servus

database

Hallo Henrik,

welchen Fehler bekommst du denn konkret?

Wenn der Ausstieg aus der Löschroutiune bei NEIN erfolgen soll musst du ein Exit Sub setzen so wie im Original-Code von mir!

Wenn eine markierte Person nicht gelöscht werden kann dann kann das Problem eigentlich nur daran liegen, dass die Parameter der WHERE-Klausel nicht stimmen.

D.h. dass folgende Gegebenheiten erfüllt sein müssen:

Das Listenfeld 'lstVG' muss eine Liste der bereits erfaßten Kontaktpersonen für Verbandagemeinden enthalten - die gebundene
Spalte muss die PERS_ID der Tabelle tblPersonen aus der Dateherkunft des Listenfeldes sein.

Die 4. Spalte der Datenherkunft des Listenfeldes muss die VG_F enhalten.

Es muss ein Eintrag im Listenfeld vorhanden sein.

Ein vorhandener Eintrag im Listenfeld ist markiert.


Wenn alle Bedingungen nach obigem Schema erfüllt sind sollte eine Löschung problemlos möglich sein.

Lad mal dein FE komprimiert und gezippt hoch, wenn du nicht zurecht kommst, ich schau mir das in deinem Formular gerne an.

swimmingball

OK danke klappt jetzt ich hatte VG_F an 3ter und RW_F an 4ter Stelle ;).

database

Hallo Henrik,

SUPER ... schön, dass es jetzt funktioniert!

Bitte setze aber diesen Thread in DEINEM ersten Beitrag auf 'gelöst' - DANKE!