collapse

* Benutzer Info

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

* Wer ist Online

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

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13909
  • stats Beiträge insgesamt: 65763
  • stats Themen insgesamt: 8870
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Erster Datensatz Ladefehler  (Gelesen 1179 mal)

Offline Student17

  • Newbie
  • Beiträge: 32
Erster Datensatz Ladefehler
« am: November 11, 2017, 16:41:31 »
Hallo zusammen, ich hab ein Problem bei einem meiner Formulare.

Das Formular basiert auf einer Abfrage. Mithilfe eines Listenfeldes kann ein Datensatz gewählt werden, und in den zugehörigen Feldern wird dann der Datensatz angezeigt. Das halt bisher immer funktioniert, auch bei diesem Formular.

Jetzt hab ich wohl vor einigen Tagen - hab seit dem ziemlich viel gemacht - einen Fehler gemacht. Das Listenfeld ist zwar passend gefühlt, aber der erste Datensatz wird nicht mehr automatisch geladen.

Hat jemand eine Ahnung was sich geändert hat das es jetzt nicht mher funktioniert und wie ich das Rückgängig machen kann ?

Ich habe relative viele Änderungen gemacht, eine davon war - an die ich mich erinnere - das ich ein Marko nach der Microsoft Anleitung eingebaut hab das die letzte Änderung des Datensatzes abspeichert.

Vielen Dank im vorraus :)

 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7200
Re: Erster Datensatz Ladefehler
« Antwort #1 am: November 11, 2017, 16:56:50 »
Hallo,
Access macht so was nicht automatisch. Es muss Code gegeben haben der den Datensatz anzeigt. Und den hast Du vermutlich gelöscht, deaktiviert oder geändert.
Das musst Du wieder richtig machen.

Welcher Code ist denn zum Listenfeld hinterlegt ?


PS:
Zu Makros wirst Du relativ wenig Hilfe bekommen, die will keiner und somit ist auch wenig Erfahrung da.
Gruß
Klaus
 

Offline Student17

  • Newbie
  • Beiträge: 32
Re: Erster Datensatz Ladefehler
« Antwort #2 am: November 11, 2017, 18:03:49 »
Hi, also in meinem listenfeld - das einwandfrei funktioniert - steht unter "Nach Aktualisieren" ein eingebettetes Marko:

SuchenNachDatensatz

Objekttyp           (leer gelassen)
Objektname        (leer gelassen)
Aufnahme            Erster
Bedingung     = ="[PC-ID]=" &Str(Nz(Screen.ActiveControl;0))

Das hab ich nicht selbst erstellt sondern Access.

Das Problem liegt darin das das rechtige Formular nicht den ersten Datensatz aufruft beim öffnen - wie früher.
Sondern erst wenn ich einen Datensatz im Listenfeld auswähle, dann auf Aktualisieren drücke.
Allerdings ab dem Zeitpunkt funktioniert wieder alle wie immer, also liegt der Fehler wo beim Laden des ersten Datensatzes beim öffnen :)
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7200
Re: Erster Datensatz Ladefehler
« Antwort #3 am: November 11, 2017, 18:21:32 »
Hallo,
wie gesagt, zu Makros wirst Du kaum Hilfe bekommen. Ich habe von den Dingern auch keine Ahnung.
Gruß
Klaus
 

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 122
Re: Erster Datensatz Ladefehler
« Antwort #4 am: November 11, 2017, 19:45:33 »
Hallo,
ich denke das liegt nicht am Makro, dies sollte ja erst nach einer Aktualisierung wirken.

Zitat
aber der erste Datensatz wird nicht mehr automatisch geladen
Was wird denn angezeigt? Gar kein Datensatz oder ein "falscher"?
« Letzte Änderung: November 11, 2017, 19:59:48 von steffen0815 »
Gruß Steffen
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1164
Re: Erster Datensatz Ladefehler
« Antwort #5 am: November 11, 2017, 22:43:01 »
Das Ablaufprinzip wäre, beim Laden des Formulars zu prüfen, ob das Lstenfeld Zeilen enthält, die erste, letzte oder eine irgendwo hinterlegte Zeile auswählen und anschließend die Aktion anstoßen, die im Nach Aktualisierung Ereignis des Listenfelds abläuft.

In VBA könnte der Code dazu wie folgt für ein Formularmodul aussehen:Option Compare Database
Option Explicit

Private Sub Form_Load()
   Const LBX_Name As String = "DeinListenfeldName" '<== anpassen
   
   With Me.Controls(LBX_Name) 'oder kürzer: With Me(LBX_Name)
      'gibt es Zeilen?
      If .ListCount > 0 Then
         'erste Zeile auswählen (Zählung beginnt beo 0)
         .Value = .ItemData(0)
         'oder: letzte Zeile auswählen
         '.Value = .ItemData(.ListCount - 1)
         'Datensatznavigation mit dem ausgewählten Wert anstossen
         Call ShowPC(.Value)
      End If
   End With
End Sub


Private Sub DeinListenfeldName_AfterUpdate()
   'auch hier den natürlich den Namen anpassen
   Call ShowPC(Me.DeinListenfeldName)
End Sub

Private Sub ShowPC(ByRef PC_ID As Variant)
   If IsNull(PC_ID) Then Exit Sub 'sollte im Normalfall nicht eintreten
   
   'Datensatz suchen (...und hoffentlich finden)
   Me.Recordset.FindFirst BuildCriteria("[PC-ID]", dbLong, PC_ID)
End Sub
Grüße von der (⌒▽⌒)
 

Offline Student17

  • Newbie
  • Beiträge: 32
Re: Erster Datensatz Ladefehler
« Antwort #6 am: November 12, 2017, 11:34:20 »
hi, ich glaube auch nicht das das marko etwas damit zu tun hat.

Um auf die Frage von steffen0815 zu antworten hab ich hier mal zwei Screenshots angefügt. Der erste zeigt wie es Mal war und wie es sein sollte. Auf dem zweiten sieht man wie es jetzt auf einmal ist. Wie man sieht ist das Listenfeld in beiden Fällen gefüllt nur rechts - in meiner "Detailansicht" - ist kein Datensatz zu sehen beim zweiten. So wie ich das beim Öffnen jetzt allgemein für das Formular kein Datnsatz am Anfang gewählt.

Erst durch Auswahl und Aktualisieren bekomm ich den gleichen Zustand wie früher, der auch dem Bild 1 entspricht. Ab dann funktioniert alles einwandfrei :)

Für leihen wo müsste ich diesen VBA einfügen zum Testen Lachtaube ?

:)

 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23264
Re: Erster Datensatz Ladefehler
« Antwort #7 am: November 12, 2017, 11:47:42 »
Hallo,

schau mal die Datensatzherkunft des Listenfeldes an.  Dort sollte eine Abfrage, bzw. ein SQL-String stehen.
In dieser/m  steht  vermutlich das "Letzte Kontrolle:"-Feld (Spalte) nicht in der Select-Liste....

Oder das Tabellenfeld (Spalte) mit Alias-Name "Letzte Kontrolle:"  ist nicht das gewünschte Datumsfeld
oder  die Tabellenspalte ist grundsätzlich "Leer"  (NULL)

Weiterhin sollten die Eigenschaften des Listenfeldes "Spaltenanzahl", "Spaltenbreiten" ,etc.  überprüft werden.

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 122
Re: Erster Datensatz Ladefehler
« Antwort #8 am: November 12, 2017, 12:41:51 »
Hallo,
ich vermute du stehst beim Öffnen auf einem neuen Datensatz, oder der erste Datensatz ist leer.
Wenn du auf einem neuen DS stehst, muss das irgend ein Code auslösen.

Welche Formularereignisse sind bei dir mit Code "belegt"?
Gruß Steffen
 

Offline Frithjiof

  • Access-User
  • *
  • Beiträge: 74
Re: Erster Datensatz Ladefehler
« Antwort #9 am: November 13, 2017, 13:05:06 »

Unter Formulareigenschaften kann im Reiter Daten z.B. ein Filter oder eine Sortierung für das Formular eingetragen sein.
Oder die Abfrage enthält  im Eigenschaftsblatt noch Filter oder Sortierungen.

Frithjof
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1735
Re: Erster Datensatz Ladefehler
« Antwort #10 am: November 13, 2017, 14:17:20 »
Hallo Steffen,
Zitat
Wenn du auf einem neuen DS stehst, muss das irgend ein Code auslösen.
Nicht unbedingt. Die Eigenschaft/-Einstellung "Daten eingeben = Ja"
erzwingt das ohne Code.
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 steffen0815

  • Access-Profi
  • **
  • Beiträge: 122
Re: Erster Datensatz Ladefehler
« Antwort #11 am: November 13, 2017, 14:49:28 »
Hallo,
Zitat
Nicht unbedingt. Die Eigenschaft/-Einstellung "Daten eingeben = Ja"
Mag sein, wäre auch mein erster Ansatz gewesen, allerdings wird ja das "Gehe zu Datensatz" im späteren Verlauf ausgeführt, deshalb kann weder ein Filter noch ein "Daten eingeben = Ja" das Verhalten erklären/auslösen.
Gruß Steffen
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1735
Re: Erster Datensatz Ladefehler
« Antwort #12 am: November 13, 2017, 15:33:57 »
Ich bezog mich auf
Zitat
ich vermute du stehst beim Öffnen
--
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 Student17

  • Newbie
  • Beiträge: 32
Re: Erster Datensatz Ladefehler
« Antwort #13 am: November 13, 2017, 23:11:22 »
Hallo erstmal alle miteinander, vielen vielen Dank für eure Antworten. Leider hab ich im Moment nicht die gelegenheit sie zu testen, den das Formular hat sich jetzt komplett zerschossen.

Seit neuestem behauptet es beim öffnen das es die Felder - die ich als Kriterien in der Abfrage verwende - nicht mehr findet, womit sich das Formular quasi nicht öffnen lässt. Sobald ich die Ursache dafür gefunden hab werd ich alles Ausprobieren und euch schreiben ob und wenn ja wie es sich lösen hat lassen:

Aktuell hab ich geschaut:

DF6GL - Alles geschaut und da ist alles wie es sein müsste. Das Marko "Letzte Kontrolle:" hab ich wieder entfernt. Es gab nähmlich auf einmal Laufzeit Probleme.

steffen0815 - Ich glaube nicht das es auf einem neuen Datensatz steht. Habe mal die "ID" (Den Autowert / Primärschlüssel) eingeblendet und daran müsste man es ja eigentlich erkennen, doch das Feld war nur leer.



 

Offline Student17

  • Newbie
  • Beiträge: 32
Re: Erster Datensatz Ladefehler
« Antwort #14 am: November 18, 2017, 11:35:13 »
Hallo miteinander. Ich hab nun die gelegenheit gehabt alle eure Sachen auszuprobieren und leider hilft nix davon :(

Hat noch jemand eine Idee, würds helfen wenn ich euch die Datei mal gebe. Hab wirklich wenig Lust noch mal 20h dieses Formular zu erstellen xD