Access-Kombinationsfeld als Suchfeld genutzt geht auf einem PC von zweien nicht mehr

Anonym
2025-02-19T20:03:57+00:00

Hallo zusammen,

ich verstehe die Welt nicht mehr und versuche jetzt schon 3 Tage das Problem zu lösen. Ich kommt nicht mehr weiter. Deshalb bitte ich um Hilfe.

In meiner Datenbank kann ich in einem Formular mit einem Kombinationsfeld plötzlich nicht mehr suchen:

  • ein Kombinationsfeld, welches ich ungebunden als Suchfeld nutze.
  • Ich nutze 2 PCs, nur bei einem davon funktioniert es nach einem Windows-Update nicht mehr. Nach diesem Windows-Update,war das Office nicht mehr auf dem PC, daher habe ich es erneut installiert (nutze Microsoft 365).

Ich habe auch schon reparieren und komprimieren im Access versucht. Bei den Datensätzen in den Formular-Eigenschaften sehe ich keine Sperrungen. Wäre ja auch unlogisch, wenn es auf einem PC geht. (Oder bin ich da falsch?) Microsoft 365 habe ich auch schon gelöscht und wieder neu installiert.

Danke für jede Hilfe!
Rascel

Microsoft 365 und Office | Access | Geschäftlich | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
Antwort, die vom Frageautor angenommen wurde
Anonym
2025-02-21T09:43:14+00:00

Hallo, Rascel!

Aufgrund der bisherigen Tests wissen wir, dass das Problem im hinteren Teil der Bedingung liegt, also in Str(Nz(Screen.ActiveControl;0)).

Teste mal einen Teil nach dem anderen, um herauszukriegen, was davon nicht funktioniert. Zuerst:

"[KontaktID] = " & Nz(Screen.ActiveControl;0)

dann

"[KontaktID] = " & Screen.ActiveControl

dann

"[KontaktID] = " & 1

Wobei 1... eh schon wissen.

Ab wann funktioniert die Sache wieder?

Servus
Karl
****************
Access Forever News DevCon
Access-Entwickler-Konferenz AEK

War diese Antwort hilfreich?

Eine Person fand diese Antwort hilfreich.
0 Kommentare Keine Kommentare

7 zusätzliche Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2025-02-21T21:25:29+00:00

    Somit ist mir nun alles klar :-)

    Danke Karl für deine Hilfe! Du hast mir einen riesen gefallen getan!

    Gruss Martin

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  2. Anonym
    2025-02-21T21:15:16+00:00

    Hallo, Rascel!

    Der Assistent, der das eingebettete Makro erzeugt hat, verwendet die (VBA-) Funktionen Str() und Nz() nur zum "Absichern" des Werts.

    Str() sorgt dafür, dass ein Zahl-Datentyp zurückgegeben wird. Das ist hier komplett überflüssig,

    Nz(...;0) sorgt dafür, dass 0 verwendet wird, falls kein Wert vorhanden, also im Such-Kombinationsfeld nichts ausgewählt ist.

    Screen.ActiveControl ist ein Bezug auf das aktuelle Steuerelement am Access-Bildschirm bzw. auf dessen aktuellen Wert. Das ActiveControl ist in diesem Fall das Kombinationsfeld.

    Mit dem nackten Screen.ActiveControl passiert also nichts anderes als vorher, es fallen nur die 2 Absicherungen weg.

    Warum es mit den beiden Funktionen nicht mehr klappt, kann versch. Ursachen haben, z.B. Sicherheitseinstellungen, die das Ausführen blockieren oder ein Verweisproblem.

    Servus
    Karl
    ****************
    Access Forever News DevCon
    Access-Entwickler-Konferenz AEK

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  3. Anonym
    2025-02-21T20:48:19+00:00

    Hallo Karl

    Ich verstehe dein Weg zu Lösungsfindung, nur ist mir nicht bewusst, was bei den verschiedenen Bedingungen das Makro eigentlich machen sollte.
    (Access hat die Bedingungen automatisch wie nachfolgend gespeichert)

    ="[KontaktID] = " & Nz([Screen].[ActiveControl];0) Mit dieser Bedingung konnte ich gar nichts feststellen, dass etwas gemacht wurde.

    ="[KontaktID] = " & [Screen].[ActiveControl]
    Mit dieser Bedingung funktioniert der Wechsel zum gewünschten Datensatz.

    Das Problem ist so gelöst, sprich es funktioniert. Darf ich das auch so verwenden? (Werden keine Daten erstellt, bearbeitet oder gelöscht?)

    Besten Dank für deine Super Hilfe!
    Gruss Rascel

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare