Neuigkeiten:

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

Mobiles Hauptmenü

CurrentDb.Execute mit Zahl

Begonnen von Carl, April 25, 2018, 14:05:10

⏪ vorheriges - nächstes ⏩

Carl

Hallo

ich suche einen Button, der den Datensatz aus einem Endlosformular heraus löscht. Ich habs so gemacht. Ich verstehe nicht, was die Zahl "128" bedeutet.


Private Sub Befehl143_Click()
Dim strsql As String
     strsql = "DELETE * FROM tblworkorder WHERE ID =" & Me!ID
     CurrentDb.Execute strsql, 128
     Me.Requery
End Sub


Was könnte das bedeuten? Carl

MzKlMu

Hallo,
die Zahl 128 ist die Zahl für den Parameter "dbFailOnError".
Der Parameter sorgt für Fehlermeldungen wenn mit der Abfrage was schief läuft.
Nicht mit der Syntax sondern wenn die Abfrage datenbezogen einen Fehler liefern würde.
CurrentDb.Execute strsql, dbFailOnError
ist als das Gleiche.
Gruß Klaus

DF6GL

#2
Hallo,

wobei solches einfacher ginge:

Private Sub btnDelRec_Click()
Runcommand accmdDeleteRecord
End Sub


In allen Fällen ist dahingehend Obacht geboten, als dass der bei einem Endlosform markierte (der DS , der den Fokus besitzt)   gelöscht wird.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Carl

Ah, danke. Auch bei meiner Lösung von oben?

DF6GL

Hallo,

ich sage "allen Fällen",  was Deine Version mit einschließt.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Carl

#5
Ich habe noch eine andere Frage:

beim Anlegen eines Datensatzes erstelle ich einen zugehörigen Ordner, dessen Pfad aus einem Pfad und einem Feld [[WOOrdnername]] ermittelt wird.

MkDir "S:\katalog\" & Me!WOOrdnername

Mit dem o.g. Button möchte ich aber auch diesen Ordner wieder mit löschen. Soll man dazu auch einen strg dimensionieren oder besser einfach einen direkten delete-Befehl machen?

Carl

MzKlMu

Hallo,
den Ordner löschen hat ja mit SQL nichts zu tun, das erfordert VBA so wie Du MkDir verwendest.
Löschen ist glaube ich Del, bin aber nicht sicher.
Gruß Klaus

DF6GL

Hallo,

das ist eine Frage des Programmierstils  und hat mit der Funktionalität nichts zu tun.
Übersichtlicher ist es aber, eine (oder mehrere) String-Variable(n) zu deklarieren und den Pfad bzw. Dateinamen zusammenzusetzen.


btw:  Ein gleichzeitiges Löschen des Pfades und der darin enthaltenen Dateien gelingt nicht den VBA-Befehlen (Rmdir, Kill), dafür ist z. B. das FileScripting-Objekt erforderlich.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Carl

Also kann man mit VBA gar keine Verzeichnisse mitsamt des Inhalts (ohne nachfragen) löschen?

Wie würdet Ihr denn den Ordner

"S:\katalog\" & Me!WOOrdnername"

löschen, wobei alle nachfragen unterbunden werden sollen?

Beaker s.a.

Zitatdafür ist z. B. das FileScripting-Objekt erforderlich.
Nicht gelesen ?
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

ebs17

Mit freundlichem Glück Auf!

Eberhard


Carl

okay, danke. Ich setz mich dran. Ist ganzschön aufwendig, weil man rekursive Schleifen vom Löschen von Dateien und Unterverzeichnissen einbauen muss.

Wäre es nicht einfacher, einfach den windows-Befehl zum Löschen eines Verzeichnisses aufzurufen? Als "entf" des angebenen Pfades mit dem Entsprechenden Windows-Dialoges? Geht sowas?

DF6GL

#13
Hallo,


kopier den folgenden Code in ein Standardmodul:

Public Function delDir(strPath As String)
Dim fso As Object
   On Error GoTo delDir_Error
If Right(strPath, 1) = "\" Then strPath = Left(strPath, Len(strPath) - 1)
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder (strPath)
Set fso = Nothing

MyExit:
Exit Function

delDir_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
    Resume MyExit
End Function


und ruf die Funktion dort auf, wo das Löschen angesagt ist:

Dim strverz as String
strVerz= "C:\Temp"
.
delDir(strVerz)
.
.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Carl

Wahnsinn, danke, das isses. :-)

Carl