vba gegevens verwijderen geslecteerd met combobox

  • Onderwerp starter Onderwerp starter dollo
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

dollo

Gebruiker
Lid geworden
1 jan 2008
Berichten
118
Door middel van een button wil ik gevens geslecteerd door een combobox verwijderen.
dus jebt bijvoor beeld een theather met verschillende zalen door middel van een combobox kun je deze zalen selecteren. Ik wil nu een knop maken een geselecteerde zaal verwijderen.

alleen dit wil niet werken ik heb nu de code:

Private Sub cmdDelete_Click()
Me.Cbo.Zaalnaam.SetFocus
DoCmd.RunCommand acCmdDeleteRecord
End Sub

als ik dit uitvoer krijg ik de melding
De opdracht of actie RecordVerwijderen is momenteel niet beschikbaar

graag zou ik willen weten wat mijn fout is en hoe ik dit op kan lossen

bij voorbaat dank :thumb::thumb:
 
Even de volgende aanname: je hebt een combobox cmbZalen met twee kolommen, ZaalID en Zaalnaam. De tabel met zalen heet TBL_Zalen

Code:
Private Sub cmdDelete_Click()
 Dim strSQL As String
 strSQL = "DELETE FROM TBL_Zalen WHERE ZaalID=" & me.cmbZalen
 DoCmd.RunSQL strSQL
End Sub

Heb je geen ZaalID maar een naam als primary key dan moet je het aanpassen tot het volgende:
Code:
Private Sub cmdDelete_Click()
 Dim strSQL As String
 strSQL = "DELETE FROM TBL_Zalen WHERE Zaal='" & me.cmbZalen & "'" 
 DoCmd.RunSQL strSQL
End Sub

Wil je het dan goed doen, kijk je eerst even of er een zaal is uitgekozen:
Code:
Private Sub cmdDelete_Click()
 Dim strSQL As String

 if me.cmbZalen.ListIndex = -1 then
    msgbox "Eerst zaal uitkiezen!"
 else
    strSQL = "DELETE FROM TBL_Zalen WHERE ZaalID=" & me.cmbZalen
    DoCmd.RunSQL strSQL
  end if
End Sub

En NOG beter is om de delete knop te disablen totdat er een zaal is uitgekozen, dus in de _Click event handler
Code:
Private Sub  cmbZalen_Click()
    me.cmdDelete.enabled = (me.cmbZalen.ListIndex <> -1)
End Sub
 
graag zou ik willen weten wat mijn fout is

Oh ja, wat je nu probeert is het huidige record te wissen. Mogelijk heb je een onafhankelijk formulier, waar dus geen recordset achter hangt, dan valt er dus ook niet veel te wissen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan