Office: Feld aus einem Formular im Modul ansprechen

Helfe beim Thema Feld aus einem Formular im Modul ansprechen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, habe WIN 7 Prof. 64 Bit und Office 2010 Prof. Ich habe folgendes Problem. In einem Formular habe ich in Basic diverse Prüfungen... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Siegbert.b@t-online.de, 7. Februar 2014.

  1. Feld aus einem Formular im Modul ansprechen


    Hallo zusammen,
    habe WIN 7 Prof. 64 Bit und Office 2010 Prof.
    Ich habe folgendes Problem.
    In einem Formular habe ich in Basic diverse Prüfungen hinterlegt. Nun will ich zum Beispiel ein Feld
    „A“ prüfen. Dieses Feld will ich in einem separaten Modul weiter bearbeiten.

    Also mal ein Beispiel:

    If A=“X“ then
    Jetzt Modul aufrufen (ich weis wie es geht)
    Und jetzt im Modul wieder das Feld A ansprechen.
    (Was muss ich machen, wie muss ich das Feld vorher definieren Kann mir jemand ein Beispiel machen?)

    End if

    Für Eure Hilfe wäre ich sehr Dankbar.
    Gruß
    Siegbert
     
    Siegbert.b@t-online.de, 7. Februar 2014
    #1
  2. Exl121150 Erfahrener User
    Hallo Siegbert,

    angenommen Du hast im Formular ein TextBox-Feld namens "txtBezeichnung". Dieses möchtest Du überprüfen, ob es den Inhalt "Schokolade" hat. Falls ja, möchtest Du in einem anderen Modul eine Prüfroutine namens "TestBezeichnung" aufrufen. Dazu übergibst Du beim Aufruf dieser Sub/Function auch einen Zeiger auf das Feld - deshalb besitzt die formale Parameterliste von TestBezeichnung die Paramaterdeklaration "Feld As TextBox" und die aktuelle Parameterliste des Prozeduraufrufs
    entweder (1.Variante): "TestBezeichnung txtBezeichnung"
    oder (2.Variante): "Call TestBezeichnung(txtBezeichnung)".
    Das Ganze kann man statt mit einem Positionsparameter auch als benannten Parameter gestalten:
    (entweder 1.Variante): "TestBezeichnung Feld:=txtBezeichnung"
    (oder 2. Variante): "Call TestBezeichnung(Feld:=txtBezeichnung)"
    (d.h. wird "Call" verwendet, sind die Parameterklammern Pflicht; wird dagegen kein "Call" verwendet, dürfen die Parameterklammern nicht verwendet werden!!)
    Code:
       '....
       If txtBezeichnung.Value ="Schokolade" Then
          TestBezeichnung txtBezeichnung
       End If
       '....
    
    Code im anderen Modul:
    Code:
    [B][COLOR="#0000CD"]Public[/COLOR][/B] Sub TestBezeichnung[COLOR="#0000CD"][B](Feld As TextBox)[/B][/COLOR]
      If Feld.Name="txtBezeichnung" Then
         If Feld.Value="Schokolade" Then
            '... weiterer Code
         Else
            '... weiterer Code
         End If
      ElseIf Feld.Name = "txtStück" Then
            '... weiterer Code
      Else
            '... weiterer Code
      End If
            '... weiterer Code ... etc.
    End Sub
    
     
    Zuletzt bearbeitet: 9. Februar 2014
    Exl121150, 9. Februar 2014
    #2
  3. Hallo Anton,

    habe es gerade gelesen, da ich weg war. Muss aber wieder für ein paar Tage wegfahren. Werde es danach ausprobieren und Dir schreiben, ob ich es verstanden habe. Bin am Samstag nächste Woche wieder zu Hause.

    Danke für Deine Meldung

    Gruß
    Siegbert
     
    Siegbert.b@t-online.de, 15. Februar 2014
    #3
  4. Feld aus einem Formular im Modul ansprechen

    Hallo Anton,

    habe es nicht hinbekommen.. Habe eine einfache Subroutine gemacht um das zu testen. Bin wahrscheinlich zu Blöd.
    Ich zeige Dir mal die Routine. Vielleich kannst Du mir helfen. Manchmal ist das ja peinlich wie blöd man sich anstellen kann.

    Hier die Routine:

    Private Sub DatumBis_AfterUpdate()
    Dim z
    Dim y
    Dim ANZAHL1 As TextBox

    z = 0
    y = 0
    Anzahl = 0
    z = Month(DatumVon)
    y = Month(DatumBis)
    Anzahl = y - z + 1
    ANZAHL1 = Anzahl

    If ANZAHL1.Value = "1" Then Call Test(Feld:=ANZAHL1)
    '*


    End Sub

    Public Sub Test(Feld As TextBox)
    If Feld.Name = "anzahl1" Then
    If Feld.Value = 1 Then
    MsgBox ("Das Kennziffer für den aufgeteilen Verbrauch fehlt," _
    & Chr(13) & "oder der Betrag fehlt." _
    & Chr(13) & "Bitte ein korrekte Kennziffer eingeben")
    End If
    End If
    End Sub
     
    Siegbert.b@t-online.de, 21. Februar 2014
    #4
  5. Exl121150 Erfahrener User
    Hallo Siegbert,

    Code:
    [COLOR="#0000CD"]Option Explicit  [/COLOR]'<== sehr empfehlenswert!
    
    Private Sub DatumBis_AfterUpdate()
      Dim z As Integer
      Dim y As Integer
    [COLOR="#0000CD"]  Dim Anzahl As Integer[/COLOR]
    [COLOR="#008000"]  '
      'ANZAHL1: Als "TextBox" mit dem Namen "ANZAHL1" ins Formular aufnehmen!
      '         Die Eigenschaft "Sichtbar" (Visible) auf "Nein" (False) stellen,
      '         sodass das Feld im Formular unsichtbar ist.
      '
    [/COLOR]  Anzahl = 0
      z = Month(DatumVon)
      y = Month(DatumBis)
      Anzahl = y - z + 1
      ANZAHL1.Value = Anzahl
      
      If ANZAHL1.Value = 1 Then Call Test(Feld:=ANZAHL1)
      
    End Sub
    
    Public Sub Test(Feld As TextBox)
      If Feld.Name = "ANZAHL1" Then
        If Feld.Value = 1 Then
          MsgBox "Die Kennziffer für den aufgeteilten Verbrauch fehlt," & vbCrLf & _
                 "oder der Betrag fehlt." & vbCrLf & _
                 "Bitte eine korrekte Kennziffer eingeben!"
        End If
      End If
    End Sub
    
     
    Zuletzt bearbeitet: 21. Februar 2014
    Exl121150, 21. Februar 2014
    #5
  6. Hallo Anton,

    Danke das hat jetzt funktioniert. Wieder etwas gelernt.

    Schönen Gruß
    Siegbert
     
    Siegbert.b@t-online.de, 24. Februar 2014
    #6
Thema:

Feld aus einem Formular im Modul ansprechen

Die Seite wird geladen...
  1. Feld aus einem Formular im Modul ansprechen - Similar Threads - Feld Formular Modul

  2. Horst

    in Microsoft Access Hilfe
    Horst: Hallo, wer kann mir erklären, wie ich in einem Formular mit VB auf ein bestimmtes Feld springen kann und dieses dann aktiv (dunkel hinterlegt) ist. Mit Set.Focus ist das ja leider nicht möglich....
  3. Formular Felder verschieben sich

    in Microsoft Outlook Hilfe
    Formular Felder verschieben sich: Hallo Habe in Outlook ein Formular SPOT.oft entworfen. Wenn ich mein Formular auf anderen PC's unter Laufwerk C:\Users\..........\AppData\Roaming\Microsoft\Templates\ abspeichere und das...
  4. Beziehungen von Feldern in einem Formular

    in Microsoft Access Hilfe
    Beziehungen von Feldern in einem Formular: Guten Tag, vielleicht kann mir jemand weiterhelfen, ich bin schon seit einigen Versionen aus Access raus, nun muss ich mich wieder damit beschäftigen/einlesen. (Ich nutze Access in der aktuellen...
  5. Wert aus Formular-Feld an SQL-Statement übergeben

    in Microsoft Access Hilfe
    Wert aus Formular-Feld an SQL-Statement übergeben: Hallo werte Access-Helfer, ich möchte in einem Unterformular (neues Angebot anlegen) nur die Werte in einer DropSown-Box angezeigt bekommen, die zu diesem Hauptformular (Kontakte dieses Kunden)...
  6. Inhalte aus 4 Feldern aus aktuellem Formular in Zwischenablage kopieren

    in Microsoft Access Hilfe
    Inhalte aus 4 Feldern aus aktuellem Formular in Zwischenablage kopieren: Hallo und guten Morgen, ich möchte die Inhalte von 4 Feldern (NICHT den ganzen Datensatz) per Button-Klick aus dem aktuellen Formular in die Zwischenablage kopieren, um diese dann z.B. in eine...
  7. Daten in bestimmtes Feld in Access Formular

    in Microsoft Access Hilfe
    Daten in bestimmtes Feld in Access Formular: Hallo, ich möchte eingescannte Daten über eine Software via Javascript in ein bestimmtes Feld in Access schreiben. Das Schreiben in eine bestimmte Tabelle ist mir klar und über ein normales...
  8. Feld aus Formular 1 im Formular 2 darstellen

    in Microsoft Access Hilfe
    Feld aus Formular 1 im Formular 2 darstellen: Hi vlt kann mir ja jemand Helfen oder hat eine Idee, vlt habe ich auch nur einen Denkfehler. Es geht um das frm_RechnungErstellen, das ist rechts unten ein Feld Gesamtsumme. Dieses Feld müsste in...
Schlagworte:
  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