collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 56
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14132
  • stats Beiträge insgesamt: 68367
  • stats Themen insgesamt: 9208
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Access Endlosformular per Recordset füllen  (Gelesen 2098 mal)

Offline Schakal

  • Newbie
  • Beiträge: 40
Access Endlosformular per Recordset füllen
« am: November 16, 2017, 15:26:37 »
Hallo Access Profies.
Ich habe eine Frage zum Endlosformular und Datensätze.
Ich habe eine Abfrage erstellt und mit einem Formular verbunden. Wenn ich das Endlos Formular starte bekomme ich 6 Datensätze angezeigt. So weit alles gut und richtig.

Nun wollte ich aber das über VBA alles machen und scheitere an folgenden Punkt -  Vielleicht sehe ich vor lauter Bäumen den Wald nicht mehr.
Hier mein Code für den Event "Formular beim Laden"
**********************
Private Sub Form_Load()

   Dim strSQL As String
   Dim rs As DAO.Recordset


       
strSQL = "SELECT Activities.Id, Activities.Artikelnummer, Activities.Artikelbez, Activities.z_CustomerName, Activities.Id_assembly, Activities.LieferWunsch," _
                & " Activities.Lieferdatum From Activities WHERE ((Activities.LieferWunsch) < (Date()-5))"
Set rs = CurrentDb.OpenRecordset(strSQL)
 
   If rs.RecordCount > 0 Then
 
   
  Do While Not rs.EOF

       Me.ArtikelNr = rs(1)      'meine Textfelder
       Me.ArtikelBz = rs(2)     'meine Textfelder
       Me.Kunde = rs(3)        'meine Textfelder
       Me.Maschine = rs(4)    'meine Textfelder
       Me.LieferW = rs(5)      'meine Textfelder
       Me.Lieferdate = rs(6)    'meine Textfelder
           rs.MoveNext
       Loop
     
       rs.Close
Set rs = Nothing
Set db = Nothing


    End If

End Sub
*********************************
Alles funktioniert so weit aber ich bekomme nur einen Datensatz anstatt 6 - und zwar immer den letzen, ist ja logisch beim Loop und MoveNext.
Wie kann ich alle 6 Datensätze angezeigt bekommen (wie wenn ich es über ein "Standard Abfrage" einrichte).
Ich habe auch die Abfrage nicht mehr dem Formular zugewiesen.
Übersehe ich etwas?
Was mache ich falsch?
Bitte um Hilfe
Danke :)
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1430
Re: Access Endlosformular per Recordset füllen
« Antwort #1 am: November 16, 2017, 15:34:34 »
Das ist einfach so mit Endlosformularen.
Grüße von der (⌒▽⌒)
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7498
Re: Access Endlosformular per Recordset füllen
« Antwort #2 am: November 16, 2017, 15:38:22 »
Hallo,
warum gehst Du hier den deutlich komplizierteren Weg über ein Recorset das Formular zu füllen ?
Was gefällt Dir nicht an dem gebundenen Formular ?

Der Programmieraufwand ist um ein vielfaches höher als mit einem gebunden Formular. Die Daten müssen ja bei Änderung auch wieder zurückgeschrieben werden. Was auch Aufwand ist.

Ehrlich gesagt, weiß ich auch gar nicht wie das geht ein Endlosformular so zu füllen. Ich habe auch gerade Zweifel, ob das mit einem Endlosform überhaupt so geht.

Nachtrag:
Habe gerade den Beitrag von Lachtaube gelesen. Es geht also nicht, wie ich mir dachte.
Ein gebundenes Formular hat dieses Problem erst gar nicht.
Gruß
Klaus
 

Offline Schakal

  • Newbie
  • Beiträge: 40
Re: Access Endlosformular per Recordset füllen
« Antwort #3 am: November 16, 2017, 16:07:51 »
Hallo Lachtaube
hallo MzKIMu
das habe ich vermutet. Ich dachte ich komm ohne dem gebundenen Formular aus.
Na dann muss ich das wohl akzeptieren das es nicht geht. Ein Versuch war es wert.
Vielen dank somit brauche ich mich damit nicht auf zu halten um eine Lösung zu finden.
Auch ein großer Wert.
Danke ;)
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7498
Re: Access Endlosformular per Recordset füllen
« Antwort #4 am: November 16, 2017, 16:14:39 »
Hallo,
Zitat
Ich dachte ich komm ohne dem gebundenen Formular aus.
Na dann muss ich das wohl akzeptieren das es nicht geht. Ein Versuch war es wert.
Es würde mich jetzt doch mal interessieren, warum Du um ein gebundenes Formular herumkommen willst. Nichts ist einfacher als ein gebundenes Formular.

Ich glaube Du unterschätzt auch den Aufwand der nötig ist mit ungebundenen Formularen zu arbeiten erheblich. Die bieten meist keine Vorteile, im Gegenteil.
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1965
Re: Access Endlosformular per Recordset füllen
« Antwort #5 am: November 16, 2017, 17:42:31 »
Hallo,
Ungeachtet der Vorteile gebundener Formulare, geht das schon; - so zu
sagen "Late Binding" (ungetestet).
Set rs = CurrentDb.OpenRecordset(strSQL)

   If Not rs.EOF Then    'ist IMO sicherer als .RecordCount
   
       Me.ArtikelNr.ControlSource = rs(1).Name     'meine Textfelder
       Me.ArtikelBz.ControlSource = rs(2).Name     'meine Textfelder
       Me.Kunde.ControlSource = rs(3).Name        'meine Textfelder
       Me.Maschine.ControlSource = rs(4).Name    'meine Textfelder
       Me.LieferW.ControlSource = rs(5).Name      'meine Textfelder
       Me.Lieferdate.ControlSource = rs(6).Name    'meine Textfelder

       Me.RecordSource = strSQL

       rs.Close
       Set rs = Nothing

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 Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1430
Re: Access Endlosformular per Recordset füllen
« Antwort #6 am: November 17, 2017, 00:17:05 »
Ekkehard, man kann die Fragestellung natürlich verschieden interpretieren. :)

Und ja, man kann auch ein geöffnetes Recordset einem (Endlos-)Formular zuweisen. Nur ein ungebundenes Endlosformular - so habe ich die Anforderung (vielleicht miss)verstanden, gibt es nicht.

PS: Um Feldnamen eines Recordsets auszulesen, muss dieses keine Datensätze enthalten.

[edit]da war ein Wort im Eifer des Schreibgefechts verloren gegangen[/edit]
« Letzte Änderung: November 17, 2017, 10:50:18 von Lachtaube »
Grüße von der (⌒▽⌒)
 

Offline PhilS

  • Global Moderator
  • Access-Profi
  • *****
  • Beiträge: 391
    • Tipps zu Access, VBA, SQL und Co.
Re: Access Endlosformular per Recordset füllen
« Antwort #7 am: November 17, 2017, 09:14:41 »
Na dann muss ich das wohl akzeptieren das es nicht geht. Ein Versuch war es wert.
Die Frage ist hier: Warum möchtest du ein ungebundenes Formular?
Ein komplett ungebundenes Endlosform ist nicht möglich, aber vielleicht lässt sich was immer du erreichen möchtest auch auf anderem Weg erreichen.
Neues Access 2019 Feature angekündigt: Modern Charts
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1965
Re: Access Endlosformular per Recordset füllen
« Antwort #8 am: November 17, 2017, 16:51:39 »
Hallo,
Nochmal vorweg, - ungeachtet der Vorteile gebundener Formulare ...
Zitat
Ein komplett ungebundenes Endlosform ist nicht möglich,
Hm, vielleicht habe ich euch falsch verstanden, aber bei mir (A2010) geht das.
Ein ungebundenes Form (alle Steuerelementinhalte leer) wird bei mir mit einem
leeren "DS" angezeigt.
Mit dem gezeigten Code "Beim Laden" werden alle DS des RS angezeigt. Es lassen
sich sogar DS anfügen.
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 DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23510
Re: Access Endlosformular per Recordset füllen
« Antwort #9 am: November 17, 2017, 16:58:31 »
Hallo,

der gezeigte Code macht aus dem ungebundenen Form ein gebundenes:

--Datenherkunft wird gesetzt.
--Steuerelementinhalte werden auf die Datenherkunft-Felder gesetzt.

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7498
Re: Access Endlosformular per Recordset füllen
« Antwort #10 am: November 17, 2017, 17:21:35 »
Hallo,
um in die gleiche Kerbe zu hauen:  ;D
Der gezeigte Code macht sonst nix wie ein gebundenes Formular, da ist nix mehr ungebunden. Du bindest halt per VBA. Daher kannst Du auch neue DS anlegen und bestehende DS ändern. Dass es gebunden ist, erkennst Du auch daran, dass nicht extra gespeichert werden muss. Was bei einem ungebunden Formular notwendig wäre.
Da kannst Du Dir den Code auch sparen und das Formular gleich gebunden erstellen.
Ein ungebundenes Formular kann nicht endlos sein.
« Letzte Änderung: November 17, 2017, 17:27:35 von MzKlMu »
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1965
Re: Access Endlosformular per Recordset füllen
« Antwort #11 am: November 17, 2017, 17:30:40 »
Hallo Franz, hallo Klaus,
Ist mir alles klar, deshalb sprach ich ja
Zitat
- so zu sagen "Late Binding"
Und
Zitat
Du bindest halt per VBA
Was ja vom TS so gewollt war
Zitat
Nun wollte ich aber das über VBA alles machen

Das ich das auch für überflüssig halte habe ich zweimal erwähnt
Zitat
ungeachtet der Vorteile gebundener Formulare

gruss ekkehard

edit:
Ich kann's mir nicht verkneifen  ;)
Zitat
Ein ungebundenes Formular kann nicht endlos sein.
Doch, es zeigt nur nix an.
--
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.
 

 

Wie seid ihr auf Access-o-Mania gestoßen?

Begonnen von HondoBoard Smalltalk

Antworten: 27
Aufrufe: 27429
Letzter Beitrag Februar 02, 2014, 17:41:44
von Bolle
MySQL Control Flow Functions in Access

Begonnen von DirkBoard Tabelle/Abfrage

Antworten: 11
Aufrufe: 8500
Letzter Beitrag März 03, 2011, 14:01:35
von imp666
Access aus Taskleiste ausblenden

Begonnen von MjayBoard Access Programmierung

Antworten: 5
Aufrufe: 4875
Letzter Beitrag August 30, 2010, 13:43:40
von Stefan Kühnen
Bilder im Access Formular

Begonnen von melisyBoard Formular

Antworten: 3
Aufrufe: 3718
Letzter Beitrag Juni 08, 2010, 09:14:37
von DF6GL
ACCESS 2007 Mausrad scrollen

Begonnen von Klaus S. aus BBoard Formular

Antworten: 10
Aufrufe: 17872
Letzter Beitrag Juli 27, 2011, 11:19:08
von Rainer Schöller