Office: (Office 2013) VBA Code in der Terminvergabe

Helfe beim Thema VBA Code in der Terminvergabe in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Meine Frage bezieht sich auf das Vorhaben (https://www.ms-office-forum.net/foru....php?t=369165). In den letzten Tagen bin ich mit der Bearbeitung der... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von teddy1, 1. August 2020.

  1. VBA Code in der Terminvergabe


    Meine Frage bezieht sich auf das Vorhaben (https://www.ms-office-forum.net/foru....php?t=369165).

    In den letzten Tagen bin ich mit der Bearbeitung der Datenbank direkt beschäftigt. Für die Terminvergabe benutzte ich das Video .

    Meine Adaptierungen:
    Tabelle Appointments entspricht tblTermvergabe
    Tabelle Schedule entspricht tblBerater
    DocotrsID entspricht BeraterID
    AppointTime entspricht Terminzeit
    AppointDate entspricht Termindatum
    mainform entspricht frmTerminvereinbarung
    ClientID entspricht KlientID
    cboClient enspricht cboclient
    txtAppointDate entspricht TextAppointDate
    Kombofeld "cboTime" bleibt gleich. für Datensatzherkunft habe ich eine tlkpZeit erstellt, Herkunftstyp Tablle/Abfrage ausgewählt

    So schauen meine adoptierte Codes aus:

    Option Compare Database
    Private Sub cboTime_Enter()
    Dim i As Date, n As Integer, oRS As DAO.Recordset, sSQL As String
    Dim dLowerbreak As Date, dUpperBreak As Date, dDuration As Date
    Dim dLowerPrecision As Date, dUpperPrecision As Date
    cboTime.RowSourceType = "Value List"
    cboTime.RowSource = ""
    If IsNull(Start) Then Exit Sub Else i = Start
    If Me.NewRecord = True Then
    DoCmd.RunCommand acCmdSaveRecord
    End If
    sSQL = "SELECT BeraterID, Termindatum, Terminzeit"
    sSQL = sSQL & " FROM qryTerminvergabe"
    sSQL = sSQL & " WHERE BeraterID= " & Me.ID & _
    " AND Termindatum=#" & Me.TextAppointDate & "#"
    Set oRS = CurrentDb.OpenRecordset(sSQL)

    dDuration = TimeValue("00:30")
    dLowerbreak = Pause - TimeValue("00:30") 'Break is a field
    dUpperBreak = Pause + TimeValue("00:30")

    If oRS.RecordCount = 0 Then
    Do
    If i = dUpperBreak Then
    cboTime.AddItem i
    End If
    i = i + dDuration
    Loop Until i >= txtEnd
    Else
    Do
    If i = dUpperBreak Then
    dLowerPrecision = i - TimeValue("00:00:05")
    dUpperPrecision = i + TimeValue("00:00:05")
    oRS.FindFirst "[Terminzeit] Between #" & dLowerPrecision & "# And #" & dUpperPrecision & "#"
    If oRS.NoMatch Then cboTime.AddItem i
    End If
    i = i + dDuration
    Loop Until i >= txtEnd
    End If
    oRS.Close
    End Sub

    Private Sub cboTime_AfterUpdate()
    SubForm.SetFocus
    DoCmd.GoToControl "Terminzeit"
    DoCmd.GoToRecord , , acNewRec
    SubForm.Form.Controls("Terminzeit") = Me.cboTime
    SubForm.Form.Controls("Termindatum") = Me.TextAppointDate
    SubForm.Form.Controls("cboclient").SetFocus
    SubForm.Form.Controls("cboclient").Dropdown
    End Sub

    Private Sub TextAppointDate_BeforeUpdate(Cancel As Integer)
    If CDate(TextAppointDate)

    :)
     
    teddy1, 1. August 2020
    #1
  2. Bitte Code stets in Code-Tags einschließen. Nutze die zweite Schaltfläche/Icon in der Fensterleiste des Nachrichtenfensters.
    Code:
     
  3. Moin,
    deutet auf einen falschen oder nicht vorhandenen Feld-/Tabellennamen hin ...
    Guck dir am besten mal per Debug.Print das Ergebnis von sSQL im Direktfenster (öffnen mit strg+g) an:
    Code:
    Wie liegen denn die Daten in cboClient vor und wo genau ist das Problem bei der Anpassung?

    maike
     
    maikek, 3. August 2020
    #3
  4. VBA Code in der Terminvergabe

    Hier ist Debugwert
     
    teddy1, 3. August 2020
    #4
  5. cboclient:
    Steuerelementinhalt: KlientID
    Datensatzherkunft: SELECT tblKlient.KlientID, IIf([Mittelname]"",[Mittelname] & (" "+[Nachname]),[Vorname] & (" "+[Nachname])) FROM tblKlient ORDER BY IIf([Mittelname]"",[Mittelname] & (" "+[Nachname]),[Vorname] & (" "+[Nachname]));

    Im Code:
    Code:
    oRS!ClientName = NewData muss in meinem Fall anders sein. Da ich das Feld "ClientName" (hier das Feld beide Vor- und Nachname hat) nicht habe. Stattdesen habe ich den Klientename auf mehrer Felder (Titel, Vor- Mittel und Nachname) aufgeteilt. Ich weiß aber nicht wie ich diese Anweiseung( oRS!ClientName = NewData) an meinen Felder anpassen kann.

    Vielen Dank.
     
    teddy1, 3. August 2020
    #5
  6. Zu 1: Ich möchte den Wert von Debug.Print aus dem Direktfenster sehen, wie beschrieben.
    Das ist dann der komplette SQL-String, so wie er erzeugt wurde.

    Äh, ja *wink.gif* .
    Wenn du beispielsweise "Herr Max Müller" in das Kombifeld eingetippt hast:
    Code:
    Link zu Stringoperationen: vb@rchiv · Befehlsreferenz · Left-Funktion

    Da das aber ziemlich frickelig werden kann mit dem Auseianderklauben von mehreren Vornamen und Doppelnamen und ... würde ich die Möglichkeit 2 aus diesem Beispiel nutzen und ein eigenes Formular zur Eingabe öffnen lassen:
    donkarls Access-Seiten Da hast du dann mehr Kontrolle über die Einträge.
    maike
     
    maikek, 4. August 2020
    #6
  7. sSQL = "SELECT BeraterID, Termindatum, Terminzeit"
    sSQL = sSQL & " FROM qryTerminvergabe"
    sSQL = sSQL & " WHERE BeraterID= " & Me.ID & _
    " AND Termindatum=#" & Me.TextAppointDate & "#"
    Debug.Print sSQL
    SELECT BeraterID, Termindatum, Terminzeit FROM qryTerminvergabe WHERE BeraterID= 1 AND Termindatum=#04.08.2020#
     
    teddy1, 4. August 2020
    #7
  8. VBA Code in der Terminvergabe

    Ok,
    wachst Du selber bei der Meldung auf????
     
    fraeser, 4. August 2020
    #8
  9. Guck mal bei donkarl.com
     
    fraeser, 4. August 2020
    #9
  10. vielen Dank für den Hinweis.
    Ich habe den folgenden Code für Termindatum eingegeben.
    Code:
    Leider keinen Erfolg
     
  11. An der Stelle ist das ja auch völlig sinnfrei ... *rolleyes.gif*
    Du erzeugst einen SQL-String und sonst nix. Zumindest grob sollte man schon verstehen, was der Code so tut.

    Bau das an der richtigen Stelle ein und formatiere den richtigen Wert (Me.TextAppointDate).

    maike
     
  12. VBA Code in der Terminvergabe

    vielen Dank. Es scheint, das diese Fehlerrückmeldung gelöst zu sein. Zumindest bekomme ich diesbezüglic keinen Fehler mehr. Allerdings das Terminzeit-Auswahl Dropdownoption für die verfügbare Zeiten ist nun leer. Das Dropdownfeld öffnet sich in voller Länge aber ist leer.
     
  13. Code:
    Dafür habe ich eine Tabelle tlkpZeit mit Feldname tsTime benutzt. Hier habe ich ab 07:30 mit halbstündigem Interval bis 20:00 eingegeben.
     
  14. Schau Dir die Eigenschaften des Kombifeldes an:
    Da gibt es
    Anzahl Spalten
    Spaltenbreiten (auch 0 möglich, mit Semikolon getrennt)
    gebundene Spalte
     
    fraeser, 5. August 2020
    #15
Thema:

VBA Code in der Terminvergabe

Die Seite wird geladen...
  1. VBA Code in der Terminvergabe - Similar Threads - VBA Code Terminvergabe

  2. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
  3. VBA Code " Zeilenhöhe bei Verb. Zellen Funktioniert fasst"

    in Microsoft Excel Hilfe
    VBA Code " Zeilenhöhe bei Verb. Zellen Funktioniert fasst": Hallo Leute dieser Code für Zellenhöhe bei Verbundenen Zellen Funktioniert fast. Ich habe ein Code von jemand anderem bekommen der nicht in einem Forum ist. Ich kann gerade diese Person nicht...
  4. PDF mit Namen,Datum speichern im Zielordner

    in Microsoft Excel Hilfe
    PDF mit Namen,Datum speichern im Zielordner: Hallo, habe das Problem den Namen in Zelle D2, Vorname in Zelle D5 , das Datum steht in der Zelle B 10 und soll beim speichern so angezeigt werden (Max Mustermann 2023 Oktober) wie und wo muß ich...
  5. Datentabelle per VBA Makro durch Kopieren und Einfügen einer Kopfzeile aufteilen

    in Microsoft Excel Hilfe
    Datentabelle per VBA Makro durch Kopieren und Einfügen einer Kopfzeile aufteilen: Hallo Zusammen, mein erster Beitrag hier, also schon mal Sorry im Voraus, wenn unvollständig beschrieben *:)* Ich habe das Forum schon nach einem brauchbaren Lösungsansatz durchsucht, bin aber...
  6. UserForm zum bearbeiten von Tabellen und speichern

    in Microsoft Excel Hilfe
    UserForm zum bearbeiten von Tabellen und speichern: Guten Tag Ich habe leider ein Problem, das mich zur Verzweiflung bringt. Vielleicht findet hier jemand einen Lösung für mein Problem. Ich bekommen leider einen Laufzeitfehler '1004'. Zur...
  7. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  8. VBA Code anpassen mit variablem Tabellen Ende

    in Microsoft Excel Hilfe
    VBA Code anpassen mit variablem Tabellen Ende: Hallo, im folgenden Code möchte ich gerne statt eines fest vorgegebenen Tabellen Ende ein variables einsetzen. Sub Verkettung() Dim i As Long For i = 2 To 15000 'Hier soll kein festes Ende...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden