Neuigkeiten:

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

Mobiles Hauptmenü

Neueste Beiträge

#51
Access Programmierung / Re: Prüfung ob Email-Adresse v...
Letzter Beitrag von jens05 - Mai 21, 2026, 18:20:32
Zitat von: Bitsqueezer am Mai 21, 2026, 12:17:23Hallo,

das mußt Du in VBA machen, in Form_Load, und dann so:
Me.btnMailversand.Enabled = (Nz(me.kemail,"") = "")
Passiert aber dann nur einmal beim Laden.
Wenn Du in Datensätzen blätterst, dann besser in Form_Current, dann wird es bei jedem Datensatz ein- oder ausgeschaltet.

Du kannst auch Visible nehmen, es ist aber besser, wenn Buttons permanent sichtbar sind und nur abgeschaltet, wenn sie nicht geklickt werden können.

Gruß

Christian
@christian, sollte die Logik nicht anders sein?
    Me.btnMailversand.Enabled = (Nz(me.kemail,"") > "")Wenn gefüllt, dann aktiviert bzw. sichtbar?
#52
Access Programmierung / Re: Prüfung ob Email-Adresse v...
Letzter Beitrag von Knobbi38 - Mai 21, 2026, 16:00:21
Auf einen Bericht gehören keine Schaltflächen! Die Prüfung auf eine vorhandene Mail-Adresse sollte vor dem Öffnen des Berichts erfolgen.

Alleine das Vorhandensein einer Mailadresse ist aber kein hinreichendes Kriterium, sondern es sollte ein separates Feld dafür angelegt werden, um allen Eventualitäten vorzubeugen.

Knobbi38
#53
Formular / Re: Formular, Mehrauswahl > Be...
Letzter Beitrag von WhiteCrow - Mai 21, 2026, 13:09:00
ok, neue Abfrage erstellt und dem Code auf die IDs:
Private Sub btn_Generieren_Click()

    Dim strWhere As String
    Dim strKategorie As String
    Dim strZustand As String
    Dim varItem As Variant

    '--------------------------------------------------
    ' Standort (Einzelauswahl)
    '--------------------------------------------------
    If Not IsNull(Me.lst_Standort) Then
        strWhere = strWhere & "[id_Standort] = " & Me.lst_Standort & " AND "
    End If

    '--------------------------------------------------
    ' Kategorie (Mehrfachauswahl)
    '--------------------------------------------------
    For Each varItem In Me.lst_Kategorie.ItemsSelected
        strKategorie = strKategorie & "," & Me.lst_Kategorie.ItemData(varItem)
    Next varItem

    If strKategorie <> "" Then
        strKategorie = Mid(strKategorie, 2)
        strWhere = strWhere & "[KategorieID] IN (" & strKategorie & ") AND "
    End If

    '--------------------------------------------------
    ' Zustand (Mehrfachauswahl)
    '--------------------------------------------------
    For Each varItem In Me.lst_Zustand.ItemsSelected
        strZustand = strZustand & "," & Me.lst_Zustand.ItemData(varItem)
    Next varItem

    If strZustand <> "" Then
        strZustand = Mid(strZustand, 2)
        strWhere = strWhere & "[id_Zustand] IN (" & strZustand & ") AND "
    End If

    '--------------------------------------------------
    ' Letztes AND entfernen
    '--------------------------------------------------
    If Right(strWhere, 5) = " AND " Then
        strWhere = Left(strWhere, Len(strWhere) - 5)
    End If

    '--------------------------------------------------
    ' Bericht öffnen
    '--------------------------------------------------
    DoCmd.OpenReport "rpt_Auswertungs-Bericht", acViewPreview, , strWhere

End Sub
...umgeschaltet.
Jetzt sitzt, passt und reicht wie es soll weiter.

Danke sehr für Dein Gedankenstoß!
#54
Formular / Re: Formular, Mehrauswahl > Be...
Letzter Beitrag von WhiteCrow - Mai 21, 2026, 12:27:07
Guten Morgen,

@PhilS: Ja, das war's ja auch für Text und zwar mit Absicht geplant.
Nicht die ID Felder (Zahl), sondern dazugehörigen "Beschreibungsfelder" (Spalte2, als Text).

Gebe zu, ein wenig unlogisch aber... ich würde die Datenbank auch etwas anders aufbauen.
Hier ein Screenshot wie die Tabellenbeziehungen für Abhänige-Kombinationsfelder aufgebaut wurden.

Kurz: Da die tblKategorie nicht in direkten Beziehung mit Haupttabelle (tbl_Inventur)
sondern über weitere (Inventar, usw.) steht, kommt zur einem Fehler bei jeden weiteren Auswahl (zweite ListBox).

Genauer: Standort-Auswahl Filterung funktioniert, <-bekomme Bericht über sämtliche Geräte in gewählten Standort,
aber jeder weitere Filterungs-Auswahl im Liste Kategorie, scheitert bereits.
Ich bekomme die zwar soweit "Optisch" dargestellt, werden aber am Bericht nicht "weiterreicht".

Wermute muss ich am der Abfrage weiter nachjustieren/schrauben (GROUP BY usw.).


#55
Access Programmierung / Re: Prüfung ob Email-Adresse v...
Letzter Beitrag von Bitsqueezer - Mai 21, 2026, 12:17:23
Hallo,

das mußt Du in VBA machen, in Form_Load, und dann so:
Me.btnMailversand.Enabled = (Nz(me.kemail,"") = "")
Passiert aber dann nur einmal beim Laden.
Wenn Du in Datensätzen blätterst, dann besser in Form_Current, dann wird es bei jedem Datensatz ein- oder ausgeschaltet.

Du kannst auch Visible nehmen, es ist aber besser, wenn Buttons permanent sichtbar sind und nur abgeschaltet, wenn sie nicht geklickt werden können.

Gruß

Christian
#56
Access Programmierung / Prüfung ob Email-Adresse vorha...
Letzter Beitrag von OrionVII - Mai 21, 2026, 12:06:44
Hallo zusammen,

in meinem Rechnungsprogramm kann ich nun mit der Hilfe des Forums Rechnungen inkl. der Rechnung als PDF versenden. Nun ist es aber so, dass nicht alle Kunden eine Mailadresse angegeben haben, lieber die Post bemühen.


Die Mail wird über eine Schaltfläche am Seitenende des Berichts abgeschickt. Ich will also prüfen, ob im Berichtsfeld KEmail (Tabellenformat Link) eine Adresse steht. Wenn nicht, soll die Schlatfläche unsichtbar sein.

Ich dachte an beim Laden des Berichts an: Wenn me.kemail = "" dann btnMailversand. visible = false

Funktioniert natürlich nicht, es passiert gar nichts.
#57
Formular / Re: Button im Formular nach Kl...
Letzter Beitrag von Knobbi38 - Mai 19, 2026, 18:06:11
Hallo Sönke,

da gibt es viele Möglichkeiten, aber die einfachste dürfte sein, beim Excel-Export jeder Datei einen Timestamp mitzugeben und vor einem Import kannst du mit einer Log-Tabelle prüfen, ob diese Datei schon importiert worden war oder nicht. Nach einem erfolgreichen Import schreibst du einen neuen entsprechenden Eintrag in die Log-Tabelle.

ZitatAus dem Umstand, dass zu jedem Datum x Einträge gemacht werden können, ergibt sich an dieser Stelle leider keine Eindeutigkeit.
Das alleine dürfte schon ein Fehler in deinem Workflow sein.

Knobbi38
#58
Formular / Button im Formular nach Klick ...
Letzter Beitrag von volvisti - Mai 19, 2026, 17:57:56
Hallo zusammen,
ich bin mir nicht sicher, ob es (ganz einfach) mit Bordmitteln geht, daher meine Frage an die Experten...

Ich habe ein Formular erstellt, auf dem nur ein einziger Button prangt.
Klicke ich darauf, werden über den VBA Code
Option Compare Database
Option Explicit

Private Sub Befehl0_Click()
DoCmd.Hourglass True

  DoCmd.RunSavedImportExport ("Import a")
  DoCmd.RunSavedImportExport ("Import b")
  DoCmd.RunSavedImportExport ("Import c")
  DoCmd.RunSavedImportExport ("Import d")
 
DoCmd.Hourglass False
 MsgBox "Daten importiert!"
End Sub

4 Excel-Dateien von bestimmten Stellen in einer Tabelle zusammengeführt.

Wie kann ich es einrichten, dass die Daten nur einmal importiert werden?
Meine Idee war, den Button nach dem Klicken bis zum nächsten Öffnen der Anwendung zu inaktivieren.

Hintergrund:
Ich brauche die Datenbank nur einmal im Monat, um für einen Kunden eine Abrechnung der erbrachten Stunden aus vier Kostenstellen zu erstellen.
Die Stunden werden mit dem Tool "WorkingHours" erfasst und am Monatsanfang wird der jeweilige Vormonat exportiert.

Die Excel-Datei ist einfach aufgebaut und beinhaltet lediglich die Spalten
Tag (Datum)
Beschreibung Arbeitseinheit (kurzer Text)
Details Arbeitseinheit (kurzer Text)
Dauer (Dezimalzahl)
Aufgabe (kurzer Text)
Tags (kurzer Text)

Aus dem Umstand, dass zu jedem Datum x Einträge gemacht werden können, ergibt sich an dieser Stelle leider keine Eindeutigkeit.
Nach dem Import wird ein Bericht erstellt, der der Rechnung beigelegt wird.

Habt Ihr eine elegantere Idee als meine?
Wenn nicht, wie kann ich meine Idee umsetzen?

Vielen Dank schon mal in die Runde.

Beste Grüße
Sönke
#59
Formular / Re: Formular, Mehrauswahl > Be...
Letzter Beitrag von PhilS - Mai 19, 2026, 16:21:38
Zitat von: WhiteCrow am Mai 19, 2026, 13:48:55Habt Ihr eine Idee, was ich dabei falsch machen könnte
Für sich genommen sieht dein Code plausibel und korrekt aus.
Allerdings geht aus deinem Posting nicht hervor, welche Datentypen die relevanten Spalten (Standort, Kategorie, Zustand) haben. Dein Code ist für Text-Spalten ausgelegt, was eher unüblich wäre. Sinnvollerweise speichert man numerische Fremdschlüssel. Dann würden die Begrenzer (') um deine Kriterienwerte entfallen.
#60
Formular / Re: Formular, Mehrauswahl > Be...
Letzter Beitrag von Knobbi38 - Mai 19, 2026, 14:59:00
Ich würde mal sagen, da wird deine Where-Bedingung falsch sein, ein "Filter" ist das ja nicht. Überprüfe die Bedingung in dem du an geeigneter Stelle eine Breakpoint setzt oder dir den Inhalt von strFilter im Dirktfenster per Debug.Print ausgeben lässt.

Hat sich eigentlich dein anderer Thread erledigt? Du hast keine Rückmeldung gegeben.  >:(