Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: kasialars am September 14, 2022, 16:19:40

Titel: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 14, 2022, 16:19:40
Hallo!
Habe ein Unterformular Im Hauptformular was sich bei Fokuserhalt ändert.

Option Compare Database
Private Sub Operator_GotFocus()
Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Breite"
End Sub

Private Sub Supplier_GotFocus()
Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_799_Breite"
End Sub

Jetzt möchte ich noch, dass wenn in einem anderem Feld "799" ausgewählt wird, dass er den oberen code ausfüht.
Habe mehrere Bezeichnungen (799) in dem Feld.

Danke
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: Beaker s.a. am September 15, 2022, 12:02:06
Private Sub DeinFeld_AfterUpdate()
    If Me.DeinFeld = "799" Then
        Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Breite"
    End If
End Sub
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 15, 2022, 14:49:08
Danke schonmal,
habe es so eingetragen
Private Sub Part_Number_AfterUpdate()
If Me.Part_Number = "799" Then
Sub Operator_GotFocus()
Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Breite"
End If
Sub Supplier_GotFocus()
Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_799_Breite"
End Sub
Funkioniert aber leider nicht.
Habe bestimmt was falsch gemacht  ;D
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: Beaker s.a. am September 15, 2022, 14:54:35
Na gut, Part_Number ist dann wohl auch eine Zahl; dann lass die "" weg.
Uups, den groben Fehler gar nicht gesehen.
Private Sub Part_Number_AfterUpdate()
If Me.Part_Number = 799 Then
`'Sub Operator_GotFocus() -- habe ich so nicht geschrieben
'du musst nur die folgende Zeile in beide Prozeduren schreiben
'Einen Eventhandler ruft man nicht aus einem anderen heraus auf
Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Breite"
End If
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: Beaker s.a. am September 15, 2022, 15:04:35
Vielleicht besser doch noch mal komplett
Private Sub Part_Number_AfterUpdate()
    If Me.Part_Number = 799 Then
        Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Breite"
    End If
End Sub

Private Sub Operator_GotFocus()
    Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Breite"
End Sub
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 15, 2022, 15:52:43
Ich glaube ich habe es falsch erklärt  ;D
Part_Number = Produktauswahl z.B 799
Bei Fokus von Operator soll das Unterformular für Produkt 799
Bei nächsten Fokus Supplier soll das nächste Unterformular für Produkt 799 geöffnet werden und immer weiter...
Das gleiche soll passieren wenn z.b nicht 799 als Produkt ausgewäht wurde sondern z.B 800 dann
Bei Fokus von Operator soll das Unterformular für Produkt 800
Bei nächsten Fokus Supplier soll das nächste Unterformular für Produkt 800 geöffnet werden und immer weiter.

Ich habe 11 Kombinationsfelder die bei Fokus das Unterformular ändern sollen und 10 Produkt.
Das Unterformular zeigt nur QR Codes an.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 15, 2022, 20:18:00
Habe es jetzt geschaft!  ;D
Private Sub Part_Number_AfterUpdate()
    If Me.Part_Number = 799 Then
        Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Breite"
    End If
End Sub
Sub Operator_GotFocus()
        Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_799_Breite"
End Sub
Sub Supplier_GotFocus()
        Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Dicke200"
End Sub
So jetzt bräuchte ich noch eine Lösung wie ich den Code weiter schreiben soll, wenn Produkt 800 ausgewäht wird.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: Beaker s.a. am September 16, 2022, 15:49:36
Hallo,
Dem Ganzen liegt ein falsches Datenmodell zu Grunde. Es kann ja
nicht sein, dass du für jedes Produkt ein eigenes Formular brauchst.
Wie stellst du dir das vor, wenn da mal ein Produkt dazu kommt?
- neues Formular, neue Abfrage, neuer Code  ::)
Bitte poste eine Bild des Beziehungsfensters mit allen Tabellen
und alle Felder sichtbar. Da wird sich vermutlich zeigen, dass es viel
einfacher geht.

gruss ekkehard
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 17, 2022, 11:15:46
Leider kann ich es nicht freigeben, da es sich um eine Firmendatenbank handelt.
Die Umsetzung soll halt so erfolgen das wenn Wareneingang kommt alles per Barcode in die Datenbank eingeben werden soll. Also z.b es kommt ein Produkt an und wird z.b eine Dicke gemessen und diese kann zwische 0,10 und 0.15 liegen, wollte ich das in dem Formular wo die Werte eingetragen werden ein unterformular die Toleranzen per QR Code angezeigt werden. 0,10 ein QR code 0.11 der nächste QR code und so weiter. So das die Eingabe sofort am Tablet erfolgen kann. Bei jedem GOT_Fokus in einem Feld sollte dann das dazugehöriges Unterformular mit den dazugehörigen Toleranzen eingeblendet werden. Denn weg über ein Bericht bin ich auch schon gegangen dort ist aber das Problem das der Cursor nicht im Feld bleibt wenn der Bericht geöffnet ist.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: Beaker s.a. am September 17, 2022, 11:37:51
ZitatLeider kann ich es nicht freigeben, da es sich um eine Firmendatenbank handelt.
Wenn man aus dem Beziehungsbild Rückschlüsse auf Inhalte ziehen
kann bestätigt das nur meine Vermutung eines falschen DM.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: PhilS am September 17, 2022, 14:19:29
Zitat von: kasialars am September 17, 2022, 11:15:46Bei jedem GOT_Fokus in einem Feld sollte dann das dazugehöriges Unterformular mit den dazugehörigen Toleranzen eingeblendet werden.
Wäre es eine Alternative immer das gleiche Unterformular zu verwenden und dort abhängig vom aktuelle Artikel jeweils die passenden Toleranzdaten anzuzeigen?
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 17, 2022, 20:24:41
Zitat von: PhilS am September 17, 2022, 14:19:29
Zitat von: kasialars am September 17, 2022, 11:15:46Bei jedem GOT_Fokus in einem Feld sollte dann das dazugehöriges Unterformular mit den dazugehörigen Toleranzen eingeblendet werden.
Wäre es eine Alternative immer das gleiche Unterformular zu verwenden und dort abhängig vom aktuelle Artikel jeweils die passenden Toleranzdaten anzuzeigen?
Das wäre eine alternative 👍
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 19, 2022, 08:12:02
Zitat von: PhilS am September 17, 2022, 14:19:29
Zitat von: kasialars am September 17, 2022, 11:15:46Bei jedem GOT_Fokus in einem Feld sollte dann das dazugehöriges Unterformular mit den dazugehörigen Toleranzen eingeblendet werden.
Wäre es eine Alternative immer das gleiche Unterformular zu verwenden und dort abhängig vom aktuelle Artikel jeweils die passenden Toleranzdaten anzuzeigen?
Wie wäre die Umsetzung?
Grüße
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: markusxy am September 19, 2022, 08:19:46
Zitat von: kasialars am September 19, 2022, 08:12:02Wie wäre die Umsetzung?

Womit hast du ein Problem?
Man platziert das Formular und das wars.
Voraussetzung: Beziehungen zwischen den Tabellen sind vorhanden, dann gibts auch nichts mehr zu tun.
Kein Code, kein garnichts.

Ansonsten muss man im Subform-Steuerelement verknüpfen von/nach setzen.

Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 19, 2022, 09:34:50
Sind leider ungebundene Formulare.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 19, 2022, 09:36:56
Zitat von: kasialars am September 19, 2022, 09:34:50Sind leider ungebundene Formulare.
Das Hauptformular ist auf eine Tabelle bezogen.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: markusxy am September 19, 2022, 09:46:09
Zitat von: kasialars am September 19, 2022, 09:36:56
Zitat von: kasialars am September 19, 2022, 09:34:50Sind leider ungebundene Formulare.
Das Hauptformular ist auf eine Tabelle bezogen.

Und was hindert dich daran, das Gleiche mit dem Subform zu machen?
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 19, 2022, 11:57:55
Ja, Hauptformular ist auf eine Tabelle bezogen!
Ich möchte doch nur ein Fenster wo die QR Codes angezeigt werden die im Hauptformular dann per Scanner eingetragen werden.

Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: markusxy am September 19, 2022, 12:28:41
Zitat von: kasialars am September 19, 2022, 11:57:55Ich möchte doch nur ein Fenster wo die QR Codes angezeigt werden die im Hauptformular dann per Scanner eingetragen werden.

Und was ist das Problem - wie wäre es damit dies einmal zu schildern?

Speicherst du den QR Code in der Tabelle des Hauptformulars - oder hast du eine eigene Tabelle mit den QR Codes und speicherst in der Tabelle des HF nur die zugehörige ID der QR-Code Tabelle?
Das wäre doch mal das Wesentliche - Datenmodell sozusagen.

Wenn du eine eigene QR-Code Tabelle hast, dann kannst du ein Subform nehmen und ansonsten einfach direkt im Hauptform anzeigen.





Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 19, 2022, 12:39:37
Ok, denke das ich das nicht so Professionell angegangen bin.
Habe ein Formular was als Unterformular im Hauptformular eingefügt, dort habe QR Codes aus Word {DISPLAYBARCODE ,,799" QR} in das Unterformular rein kopiert.
Der Benutzer soll durch die Angezeigten QR Codes eine leichter eingabe haben.
QR Codes haben keine eigende dazugehöhrige Tabelle.

Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: markusxy am September 19, 2022, 14:12:01
Zitat von: kasialars am September 19, 2022, 12:39:37Habe ein Formular was als Unterformular im Hauptformular eingefügt, dort habe QR Codes aus Word {DISPLAYBARCODE ,,799" QR} in das Unterformular rein kopiert.

Dann ist das wohl ein Bild, das im Formular hinterlegt ist.
Für ein gebundenes Formular wäre die übliche Vorgehensweise mit Bildern zu wählen.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 19, 2022, 22:35:41
Das ist korrekt. In den Kombinationsfelder sind Werte vorgegeben. In den Textfelder werden z.b die Toleranzen manuell vom Benutzer eingetragen also gemessene Dicke zwischen z.b 0,045 bis 0,055mm also möchte ich im Unterformular 11 QR Codes haben die die Toleranzen abdecken. Also Textfeld zur Eingabe ist 0,047 klick mit dem Scanner auf den Barcode und der Wert ist im Textfeld und Tabelle eingetragen. Wie gesagt die Unterformulare sind nur eingabehilfen für den Benutzer.

Mit diesem Code kann ich schon vieles umsetzen. Nur wenn ich ein anderes Produkt auswählen will soll halt ein anders Unterformular geöffnet werden.

Wenn 799 ausgewäht bei Part_Number dann Unterformular 1
Wenn 799 ausgewählt und Textfeld dicke (GotFocus) dann
Unterformular 2

Wenn 800 ausgewäht bei Part_Number dann Unterformular 3
Wenn 800 ausgewählt und Textfeld dicke (GotFocus) dann
Unterformular 4

Und immer so weiter....


 
Private Sub Part_Number_AfterUpdate()
    If Me.Part_Number = 799 Then
        Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Breite"
    End If
End Sub
Code [Auswählen]
Sub Operator_GotFocus()
        Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_799_Breite"
End Sub
Code [Auswählen]
Sub Supplier_GotFocus()
        Me!Operator_Codes_Breite.SourceObject = "Operator_Codes_Dicke200"
End Sub
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: markusxy am September 20, 2022, 14:34:41
Zitat von: kasialars am September 19, 2022, 22:35:41Nur wenn ich ein anderes Produkt auswählen will soll halt ein anders Unterformular geöffnet werden.

Du meinst also du scheiterst an simpler Logik und nicht am Programmieren.
Einfach eine Tabelle erstellen, wo du mit einem simplen Lookup das gewünschte Unterformular auslesen kannst.
Dann bleibt ein Einzeiler übrig.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: PhilS am September 20, 2022, 18:04:09
Zitat von: markusxy am September 20, 2022, 14:34:41Einfach eine Tabelle erstellen, wo du mit einem simplen Lookup das gewünschte Unterformular auslesen kannst.
Kurze Erklärung, warum ich den Ansatz mit den verschiedenen Unterformularen für suboptimal halte:

Wenn es irgendwann mal neue Barcodes gibt, musst man ein neues Unterformular mit den Barcodes erstellen. Das ist eine Arbeit für den Entwickler der Anwendung.
Wenn man stattdessen die Barcodes in einer Tabelle speichert und dann die entsprechenden Datensätze in ein (und demselben!) Unterformular anzeigt, kann (mit einem entsprechendem UI) jeder Benutzer die neuen Barcodes in die Datenbank speichern, ohne den Entwickler zu bemühen.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 21, 2022, 07:36:26
Zitat von: PhilS am September 20, 2022, 18:04:09
Zitat von: markusxy am September 20, 2022, 14:34:41Einfach eine Tabelle erstellen, wo du mit einem simplen Lookup das gewünschte Unterformular auslesen kannst.
Kurze Erklärung, warum ich den Ansatz mit den verschiedenen Unterformularen für suboptimal halte:

Wenn es irgendwann mal neue Barcodes gibt, musst man ein neues Unterformular mit den Barcodes erstellen. Das ist eine Arbeit für den Entwickler der Anwendung.
Wenn man stattdessen die Barcodes in einer Tabelle speichert und dann die entsprechenden Datensätze in ein (und demselben!) Unterformular anzeigt, kann (mit einem entsprechendem UI) jeder Benutzer die neuen Barcodes in die Datenbank speichern, ohne den Entwickler zu bemühen.
Dafür müsste ich aber ein QR-Code Software für Access kaufen!
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 21, 2022, 07:37:53
Zitat von: markusxy am September 20, 2022, 14:34:41
Zitat von: kasialars am September 19, 2022, 22:35:41Nur wenn ich ein anderes Produkt auswählen will soll halt ein anders Unterformular geöffnet werden.

Du meinst also du scheiterst an simpler Logik und nicht am Programmieren.
Einfach eine Tabelle erstellen, wo du mit einem simplen Lookup das gewünschte Unterformular auslesen kannst.
Dann bleibt ein Einzeiler übrig.
Eine genau Erklärung wäre Hilfreicher!
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: PhilS am September 21, 2022, 11:58:31
Zitat von: kasialars am September 21, 2022, 07:36:26Dafür müsste ich aber ein QR-Code Software für Access kaufen!
Warum?

Im Moment speicherst du Bilder von Barcodes eingebettet in einem (Unter-)Formular.
Mein Vorschlag: Speichere Bilder von Barcodes in einer Tabelle.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 21, 2022, 12:38:31
Zitat von: PhilS am September 21, 2022, 11:58:31
Zitat von: kasialars am September 21, 2022, 07:36:26Dafür müsste ich aber ein QR-Code Software für Access kaufen!
Warum?

Im Moment speicherst du Bilder von Barcodes eingebettet in einem (Unter-)Formular.
Mein Vorschlag: Speichere Bilder von Barcodes in einer Tabelle.
Das sehe ich als zu kompliziert an. Ich Habe 5 Tabellen wo die Daten als QR Code als Bild eingespeichert werden müssten. Dann kommen noch 2 Felder die nur Eingabefelder sind die sich dann auf die Tabelle des besagten Formulars beziehen. Und 4 Eingabefelder mit Toleranzen die mit DomWert auf andere Tabellen sich beziehen.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: ebs17 am September 21, 2022, 13:04:13
Programmierung beginnt üblicherweise mit einer vernünftigen und belastbaren Datenmodellierung. Hat man dagegen eine willkürliche Sammlung, muss man sich über nachfolgende Probleme nicht wundern.

Traust Du Dich, ein Beziehungsbild zu veröffentlichen?
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: PhilS am September 21, 2022, 15:22:27
Zitat von: kasialars am September 21, 2022, 12:38:31Ich Habe 5 Tabellen wo die Daten als QR Code als Bild eingespeichert werden müssten.
Nein, nein, nein. - Zumindest nicht, wenn es nur darum geht, die hier beschriebene Funktionalität mit den Barcode-Unterformular durch Barcodes in einer Tabelle zu ersetzen. Jedes deiner Unterformulare wird ein Datensatz in nur einer Barcode-Tabelle. Falls die Anzahl der Barcodes variabel ist und keine feste Obergrenze existiert, brauchst du evtl. ein Design mit mehreren Datensätzen für ein Unterformular, aber für mehrere Tabellen ist hier bisher kein Grund erkennbar.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: Beaker s.a. am September 21, 2022, 16:28:43
@Eberhard
Siehe #7 - #9
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 22, 2022, 08:32:28

Die Datenbank habe ich nicht Entwickelt. Leider gibt es auch kein Support mehr vom Entwickler.
Anhang Beziehungbild von der ganzen Datenbank. Leider nix da!
@PhilS
Also Verstehe ich das jetzt richtig das ich eine Tabelle erstellen soll wo alle werte die vorkommen können mit dem dazogehörigen QR-Code als Bild?
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: Beaker s.a. am September 22, 2022, 16:25:57
Hast du denn mal einen Rechtsklick im Beziehungsfenster gemacht, und
"Alle anzeigen" geklickt?
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 23, 2022, 07:21:25
Ja, dass habe ich gemacht.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: PhilS am September 23, 2022, 09:13:14
Zitat von: kasialars am September 22, 2022, 08:32:28Also Verstehe ich das jetzt richtig das ich eine Tabelle erstellen soll wo alle werte die vorkommen können mit dem dazogehörigen QR-Code als Bild?
Ja, im Prinzip schon. Jeder Datensatz in dieser Tabelle ersetzt eines deiner Unterformulare.
Dann hast du nur ein Unterformular, das die Daten aus dieser Tabellen anzeigt.

Der wesentliche Vorteil ist, dass du nicht für neue Barcodes keine Unterformular im Entwurf bearbeiten oder neue erzeugen musst.
Das Grundprinzip, dass du abhängig von der Eingabe im Formular die Anzeige des Unterformulars änderst, bleibt gleich.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 27, 2022, 14:30:10
So, bin fleißig die Tabelle am erstellen  :)
Ist es möglich das wenn ich in ein Eingabefeld zahlen eingeben will der Fokus im Feld bestehen bleibt bis dort 4 Zahlen eingetragen sind?

11 QR Codes mit , 0 1 2 3 4 5 usw....
z.b Gewicht = 212,5KG
QR Code 2 dann 1 dann 2 dann , dann 5 als eingabe
Wie ein Tastenfeld als QR Code um eine Zahl ins Eingabefeld einzugeben. Jetzt springt der Cursor nach eingabe sofort in nächste Feld.
Danke
 
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: PhilS am September 27, 2022, 15:04:12
Zitat von: kasialars am September 27, 2022, 14:30:10Ist es möglich das wenn ich in ein Eingabefeld zahlen eingeben will der Fokus im Feld bestehen bleibt bis dort 4 Zahlen eingetragen sind?
Üblicherweise bleibt der Focus in einem Steuerelement solange, bis er durch eine Benutzeraktion auf ein anderes Steuerelement verschoben wird. 

Wenn das Verhalten bei dir anders ist, muss das durch VBA-Code (oder ein Makro) passieren. Somit solltest du das gewünschte Ergebnis durch Ändern das VBA-Codes erreichen können. - Aber ohne weitere Informationen, kann dir hier niemand dabei helfen.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: kasialars am September 27, 2022, 15:07:50
Das liegt bestimmt am Scanner der den Tab automatich nach einlesen vom QR Code ausgibt.
Titel: Re: Unterformular Gotfokus Wenn VBA
Beitrag von: Beaker s.a. am September 27, 2022, 18:04:24
Normalerweise senden Scanner ein CR, was natürlich die gleiche
Wirkung hat. Das kann man aber am Scanner auch ausschalten.