PDA

Vollständige Version anzeigen : Kann im PopUp Form kein DS löschen?


PC74
28.06.2001, 20:45
Eine Frage an alle!!!!
Wie kann ich in einem PopUp Formular DS löschen?
Ich habe in meinen Forms einen Button über Assi eingefügt und möchte damit den aktuellen DS löschen.Es kommt folgende Fehlermeldung:
"Sie können das Datenbankobjekt nicht löschen,solange es geöffnet ist."
Danke für evntuelle Hilfe.

Pepi
28.06.2001, 20:53
Hallo PC74,
welche Version benutzt du und wie sieht der Code denn überhaupt aus in deiner Form???

PC74
28.06.2001, 21:22
Hallo Matthias,
ich verwende A97 und der Code vom Assi lautet:
Private Sub Objekt_löschen_Click()
On Error GoTo Err_Objekt_löschen_Click


DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Objekt_löschen_Click:
Exit Sub

Err_Objekt_löschen_Click:
MsgBox Err.Description
Resume Exit_Objekt_löschen_Click

End Sub

Danke für Deine schnelle Reaktion.

Wile E G
29.06.2001, 07:51
Hi,
ich denke das du den datensatz in einem formular aufgerufen hast. von diesem formular aus rufst du das popup formular auf.
soweit richtig??
dan löschst du vom popupformular den datensatz und access weigert sich, da der datenssatz noch im ursprungsformular geöffnet und damit gesperrt ist.
wenn meine vermutung richtig ist musst du das erste formular schließen (dann glaube ich aktualisieren oder so) und dann erst löschen. habs aber nicht ausprobiert ist nur so eine idee...

gruß wile e. g.

PC74
30.06.2001, 11:20
Der Aufbau ist eigentlich ganz normal.
HF mit zwei Registerseiten.
1.Registerseite 1 UF
2.Registerseite 2 UF
Das HF ist als PopUp dargestellt.
Und nun möchte und muß ich ab und zu DS aus dem 1.UF löschen, nur das funzt wie gesagt nicht.
DS hinzufügen das geht.
Danke

WalterS
01.07.2001, 21:00
Hallo PC 74!

Der Assi nimmt keine Rücksicht darauf, dass du ein U-Form hast, aus dem du löschen willst. Mit dem vom Assi erstellten Befehlen wird nur in einem HF der Datensatz markiert und dann gelöscht. Um aus dem HF einen Datensatz des UF zu löschen wirst du VBA-Code benötigen.

hermi
02.07.2001, 07:04
Hallo PC74,

ich weiss nicht, ob dein Problem mittlerweilen gelöst ist. Ich habe auf der Homepage von Karl Donaubauer folgende Lösung gefunden:
P r o b l e m
Du verwendest in einem PopUp-Formular Code, den der Assistent erstellt hat oder du selber, im Code befinden sich Befehle, die DoMenuItem verwenden z.B. Speichern, Löschen. Diese Befehle funktionieren nicht.

U r s a c h e
In A97 funktioniert DoMenuItem nicht im PopUp, weil die Menübefehle auch per VBA in einem PopUp-Formular nicht zugänglich sind. (in älteren Versionen ging's übrigens noch)

L ö s u n g
Ersetze die Code-Zeilen mit DoMenuItem durch solche, die RunCommand - Konstanten verwenden z.B.

Speichern des aktuellen Datensatzes: RunCommand AcCmdSaveRecord
Löschen des aktuellen Datensatzes: RunCommand AcCmdDeleteRecord

cu hermi