PDA

Vollständige Version anzeigen : Detailformular soll per Doppelklick geöffnet werden


BettieZ
05.04.2013, 08:16
Guten Morgen :)

Ich hoffe Ihr könnt mir bei 2 Sachen helfen. Ich habe folgende Übungsaufgaben erhalten.
1. Das Detailformular soll aufgerufen werden, wenn auf ein Feld des Detailbereichs im Übersichtsformular doppelgeklickt wird.
Hier mal ein Foto als Übersicht, http://www.fotos-hochladen.net/uploads/19qld2m8jhp.jpg
Kann mir da einer helfen? Oder evtl. Links geben wo ich etwas ähnliches finde?
2. Ich soll auf dem Detailformular eine Schaltfläche Löschen hinzufügen, die den aktuellen Datensatz löscht. Das habe ich auch soweit fertig, nur mein Problem ist wenn ich auf löschen klicke löscht er zwar den Datensatz aber nicht aus dem Übersichtsformular.
Hier mal der Code
Private Sub Schalter_Löschen_Click()

If MsgBox("sind Sie sicher?", vbYesNo) Then
Dim strSQL As String
strSQL = "delete from tbl_Musikvideos where Titel = '" & Me.txtTitel & "'"
Conn.Execute (strSQL)
Forms!frm_Übersicht.Requery
End If
DoCmd.Close acForm, "frm_Detail"
End Sub

Vielen Dank für eure Hilfe :)

fraeser
05.04.2013, 09:41
1. Ereignis " Beim Doppelklicken" des Textfeldes "Titel" (oder andere/alle) das Detailformular öffnen (Docmd.OpenForm....)
2. Mit dem Requery sollte das eigentlich funktionieren - wie lautet denn die Datensatzquelle des Übersichtformulars?

Anne Berg
05.04.2013, 09:46
Hallo,

die Sicherheitsabfrage sollte folgendermaßen aussehen:If MsgBox("sind Sie sicher?", vbYesNo) = vbYes Then
Wo ist denn "conn" deklariert und initialisiert? Setzt du ADO ein und warum?

BettieZ
08.04.2013, 07:51
Hi,
vielen Dank für eure Hilfe :)
Mit Docmd.OpenForm hätte ich auch selber drauf kommen können.
und zu der Frage 2, da habe ich den Code folgendermaßen umgeschrieben, und er funktioniert auch soweit.

If MsgBox("Wirklich löschen?", vbOKCancel) = vbOK Then
dSQL = "DELETE FROM tbl_Musikvideos IN '" & CurrentProject.Path & "\Musikvideos.accdb' "
dSQL = dSQL & " WHERE Video_ID = " & rs!Video_ID
Conn.Execute dSQL
'Recordset aktualisieren, damit es die Änderungen enthält
rs.Requery
'Aktualisiertes Recordset dem Formular wieder zuweisen
Set Forms!frm_Übersicht.Recordset = rs
Else
End If
'Formular schließen
DoCmd.Close acForm, Me.Name