WinFuture-Forum.de: [Gelöst][Access] Per ID in Textfeld bestimmten Datensatz anzeigen/spri - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[Gelöst][Access] Per ID in Textfeld bestimmten Datensatz anzeigen/spri


#1 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 15:57

Hallo Leute,

ich stehe grade auf dem Schlauch.

Ich möchte eine ID , in der Tabelle ist es ein AutoWert, in ein Textfeld eingeben auf anzeigen klicken und dann soll der komplette Datensatz auch unter allen Registern angezeigt werden.

Hier ein Bild:
Angehängtes Bild: system.png

Habt ihr eine Idee?

Gelöst!

Ihr findet die Lösung weiter unten.

Dieser Beitrag wurde von ps915 bearbeitet: 18. November 2010 - 16:59

0

Anzeige



#2 Mitglied ist offline   egal8888 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.036
  • Beigetreten: 23. September 10
  • Reputation: 25
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 16:06

Dazu muß das Textfeld die Verknüpfung zum Unterformular sein.
Dein Unterformular sind in Deinem Fall die Registerkarten, während das Hauptformular dann der obere Kasten ist, in dem Dein Textfeld ist.
0

#3 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 16:07

Ich habe kein Unterformular, das ist alles auf einer Formularebene drauf!
0

#4 Mitglied ist offline   egal8888 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.036
  • Beigetreten: 23. September 10
  • Reputation: 25
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 16:12

Mir fällt aber ehrlich gesagt keine andere Lösung ein.
Es geht auch, soweit ich weiß, nur über Haupt- und Unterformulare.

Oder, Moment...
Vielleicht kannst Du das über ein Makro lösen.
Ich glaube, es gibt sowas wie Datensatz finden. Dann mußt Du halt per Makro oder VBA zum Textfeld passenden Datensatz springen und ein Form.refresh() machen.
Könnte klappen.
0

#5 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 16:13

Würde diese Lösung klappen ? :

Ich habe ein Hauptformular auf dem nur das Suchen-Textfeld angezeigt wird. Die Registerkarten packe ich in ein Unterformular sodass es wie jetzt aussieht.

Dann sage ich dem Button er soll das Unterformular jedesmal refreshen wenn ich ihn klicke und in dem Suchfeld etwas eingetragen ist.

Nun schreibe ich in dem SQL Befehl der Datenherkunft des Unterformulars eine Bedingung, dass er den Datensatz anzeigt dessen ID in dem Suchfeld steht.

Kann das so funktionieren? Das wäre ein Haufen arbeit! ;)

Beitrag anzeigenZitat (egal8888: 18.11.2010, 16:12)

Oder, Moment...
Vielleicht kannst Du das über ein Makro lösen.
Ich glaube, es gibt sowas wie Datensatz finden. Dann mußt Du halt per Makro oder VBA zum Textfeld passenden Datensatz springen und ein Form.refresh() machen.
Könnte klappen.


Kannst du mir genaueres sagen?

Ichhab das hier gefunden, wird ausgelöst, wenn ich auf den Button klicke.
Doch leider funzt es nicht.
Forms!form_auftrag.Form.RecordsetClone.FindFirst "[auftrag_nr] = '" & Me.suchfeld_auftrag_nr
Forms!form_auftrag.Form.Bookmark = Forms!form_auftrag.Form.RecordsetClone.Bookmark


Ist dis Schreibweise richtig?
Das Hauptformular heißt: form_auftrag
das Textfeld nach dem gesucht wird heißt auftrag_nr
das Suchtextfeld heißt suchfeld_auftrag_nr

Dieser Beitrag wurde von ps915 bearbeitet: 18. November 2010 - 16:25

0

#6 Mitglied ist offline   egal8888 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.036
  • Beigetreten: 23. September 10
  • Reputation: 25
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 16:25

Hab gerade mal einen schnellen Versuch gemacht.

Es geht.

Du mußt also ein Unterformular mit Deinen Registerkarten machen und als Datensatzherkunft für das Unterformular gibst Du dann ungefähr sowas ein: SELECT * FROM Test WHERE (((Test.ID)=[Formulare]![Hauptformular]![Textfeld]));
Dann beim Klicken auf den Button mußt Du aber noch das Unterformular refreshen.
0

#7 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 16:26

Beitrag anzeigenZitat (egal8888: 18.11.2010, 16:25)

Hab gerade mal einen schnellen Versuch gemacht.

Es geht.

Du mußt also ein Unterformular mit Deinen Registerkarten machen und als Datensatzherkunft für das Unterformular gibst Du dann ungefähr sowas ein: SELECT * FROM Test WHERE (((Test.ID)=[Formulare]![Hauptformular]![Textfeld]));
Dann beim Klicken auf den Button mußt Du aber noch das Unterformular refreshen.



Das hatte ich ja oben schon so beschrieben, kannst du etwas zu meinem letzten Beitrag sagen? Das wären wahrscheinlich nur 2 Zeilen VBA Code. Doer soll er nur zu einem Datensatz springen, also ohne Abfrage!
0

#8 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 16:57

Nun klappst:

Dim RS As DAO.Recordset
Set RS = Me.RecordsetClone
RS.FindFirst "tbl_auftrag.auftrag_nr = " & Me.suchfeld_auftrag_nr
If Not RS.NoMatch Then Me.Bookmark = RS.Bookmark
RS.Close

0

#9 Mitglied ist offline   sn00b 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.242
  • Beigetreten: 07. November 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 16:59

Du kannst das ganze auch mittels eines Filters machen.
Sub FilterFX()
	Dim frm1 As Form, strFilter As Variant
	Set frm1 = Forms!form_auftrag.Form
	frm1.Filter = vbNullString
	If IsNullIf (suchfeld_auftrag_nr) Then  Exit Sub Else strFilter = "auftrag_nr = suchfeld_auftrag_nr"
	frm1.Filter = strFilter
	frm1.FilterOn = True
	frm1.Requery
End Sub

In diese Funktion musst du dann nur springen wenn man auf den Button drückt.

Ich hoffe ich habe keine Schusselfehler gemacht.

EDIT:
Da war ich wohl zu langsam. ;)

Dieser Beitrag wurde von sn00b bearbeitet: 18. November 2010 - 17:00

0

#10 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 18. November 2010 - 17:00

So würds auch gehen -.- danke sn00b ;)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0