collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 53
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13702
  • stats Beiträge insgesamt: 62196
  • stats Themen insgesamt: 8474
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: SearchForRecord in Unterformular  (Gelesen 104 mal)

Offline alex1737

  • Newbie
  • Beiträge: 2
SearchForRecord in Unterformular
« am: September 23, 2017, 20:27:12 »
Hallo zusammen,

nach stundenlangen ausprobieren, testen sämtlicher Ansätze aus dem Netz, ändern dieser, etc. wende ich mich jetzt doch direkt mit meinem Problem an die Profis hier.

Beim Klick in das Feld ID_feld meines Formulars FOR_create_x soll sich eine InputBox öffnen, in das eine ID eingegeben werden kann, nach der dann gesucht wird und im Formular auf diesen Datensatz gesprungen wird.
Das ganze klappt auch soweit, solange ich das Formular direkt öffne.

Problem: Sobald ich das Formular in meinem Navigationsformular (Home_amx_FE1) öffne, kommt es zum Fehler.

Ich habe dann schonmal die beiden (wieder auskommentierten) .SetFocus-Zeilen eingefügt, leider ohne Erfolg

Nachfolgender Code steht im Modul

Function search_ID()
On Error GoTo search_ID_Err
    Dim Var8 As Integer

    Var8 = InputBox("gesuchte ID eingeben", "ID-Suche_amx")
   
    'Forms!Home_amx_FE1!Navigationsunterformular.SetFocus
    'Forms!Home_amx_FE1!Navigationsunterformular.Form!ID_feld.SetFocus
   
    DoCmd.SearchForRecord acForm, "FOR_create_x", acFirst, _
                          "[TAB_x].[ID_feld] =" & Var8
search_ID_Exit:
    Exit Function
search_ID_Err:
    MsgBox "Es wurde nach keiner ID gesucht. Bitte erneut in das ID-Feld klicken, ID eingeben und mit OK bestätigen", 48, "Foul_amx"
    Resume search_ID_Exit
End Function

Im Formular "FOR_create_x" rufe ich dann die oben eingefügte Funktion auf:

Private Sub ID_feld_click()
    Call search_ID
End Sub

Falls es Fragen gibt, ich die Hälfte an Infos drumherum vergessen habe, o.ä. bitte kurze Info. ;)

Herzlichen Dank im Voraus für Eure Bemühungen!
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 728
Re: SearchForRecord in Unterformular
« Antwort #1 am: September 23, 2017, 21:45:57 »
Ein etwas anderer Ansatz.Private Sub search_ID()
   Dim Var8 As String
   Dim Criteria As String

   On Error GoTo search_ID_Err

   'Das ist keine intuitive Bedienung!!!
   Var8 = InputBox("gesuchte ID eingeben", "ID-Suche_amx")

   'Eingabe prüfen
   If IsNumeric(Var8) Then
      'Suchkriterium anlegen
      Criteria = BuildCriteria("ID_feld", dbLong, Var8)
     
      'im geklonten Recordset
      With Me.Recordset.Clone()
         
         'nach dem Kriterium suchen
         .FindFirst Criteria
         
         'Ergebnis prüfen
         If .NoMatch Then
            MsgBox "ID nicht gefunden."
         Else
            'Anzeige im Erfolgsfall synchronisieren
            Me.Bookmark = .Bookmark
         End If
     
      End With
     
   Else
      MsgBox "Abbruch, leere oder ungültige Eingabe."
   End If

search_ID_Exit:
   Exit Sub

search_ID_Err:
   'diese Aussage muss nicht zutreffen
   MsgBox "Es wurde nach keiner ID gesucht. Bitte erneut in das ID-Feld " & _
          "klicken, ID eingeben und mit OK bestätigen", vbExclamation, "Foul_amx"
   Resume search_ID_Exit
End Sub
Grüße von der (⌒▽⌒)
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1493
Re: SearchForRecord in Unterformular
« Antwort #2 am: September 25, 2017, 13:07:43 »
Hallo Alex,
Zitat
   'Das ist keine intuitive Bedienung!!!
   Var8 = InputBox("gesuchte ID eingeben", "ID-Suche_amx")
Dem kann ich nur zustimmen. Warum nimmst du nicht einfach ein
ungebundenes Textfeld direkt auf dem Formular?
Und wenn euer Sortiment nicht 10Tsde von Artikeln enthält vielleicht
sogar ein Kombi mit den Artikel-IDs. Das liesse sich auch noch mit
einem vorgeschaltetem Kombi (Waren-/Artikelgruppe) einschränken
(filtern).
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline alex1737

  • Newbie
  • Beiträge: 2
Re: SearchForRecord in Unterformular
« Antwort #3 am: Oktober 02, 2017, 19:09:59 »
Hi ihr beiden,

vielen Dank für des Rätsels doch so einfache Lösung. Funktioniert perfekt!
In dem Fall ist ein ungebundenes Textfeld aufgrund der "usabililty" leider nicht möglich. Hinweistext kann man sicher noch besser formulieren. Aber sonst, klar. An ähnlichen anderen Stellen habe ich bereits mit ungebundenen Textfeldern gearbeitet.
Kombi ist an der Stelle aufgrund des Umfangs nicht denkbar.

Besten Dank nochmal und Gruß!
Alex