Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bestimmten Satz in Endlosformular bekommt den Fokus.

Begonnen von Walterio, September 06, 2021, 05:28:17

⏪ vorheriges - nächstes ⏩

Walterio

Hallo

In einem UF sollen aus einer Tabellen einzelne Datensätze - für eine spätere Verarbeitung im HF - ausgewählt werden können, doch einzelne Sätze sind nicht wählbar (das Kriterium dazu ist der Wert eines der Tabellenfelder: [Freigabetext] nicht leer ). Die Tabelle enthält als erstes ein "Ausgewählt"-Ja/Nein Feld.

Ich habe folgende Lösung mir gedacht:
Die Tabelle wird in einem Endlosformular angezeigt, wobei das Ja/Nein-Feld die erste Spalte ist.
Dieses Ausgewählt-Feld wird bei nicht wählbaren Datensätze gesperrt .
Nun sollte beim Öffnen die erste wählbare Zeile den Fokus erhalten. Habe es mit bookmark versucht, aber so geht es nicht:
    Dim rsCanna As DAO.Recordset
    Set rsCanna = Me.RecordsetClone
    rsCanna.FindFirst "Freigabetext < ' '"
    Me.Bookmark = rsCanna.Bookmark

    rsCanna.Close
    Set rsCanna = Nothing

Hat jemand eine Idee wie ich das lösen kann?

Dank im Voraus
Walterio

DF6GL

Hallo,

warum zeigst Du die nicht wählbaren Datensätze überhaupt an? Wenn Du die Datenherkunft des UFOs nach "Freigabetext" filterst, liegt der Fokus gleich auf dem ersten DS( was auch immer der erste ist).

Sortieren nach "Freigabetext" hilft auch...


Mit Code:


Sub Form_Load()

    Dim rsCanna As DAO.Recordset
    Set rsCanna = Me.RecordsetClone
    rsCanna.FindFirst "Freigabetext not Null"
    Me.Bookmark = rsCanna.Bookmark

    Set rsCanna = Nothing
End Sub
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Walterio

Danke für die Antwort, Franz, Aber der Kunde will alle Sätze sehen, auch die nicht Freigegebenen; dazu zeige ich dann ein Freigabetext

DF6GL

Hallo,


funktioniert denn dann der Code?

Evtl. ist

Set rsCanna = Me.Recordset

und die Bookmark-Zeile weglassen
besser..
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Walterio

Hallo Franz (komme erst jetzt dazu...)

Wenn beim Load-Ereignis
    Dim rsCanna As DAO.Recordset
    Set rsCanna = Me.Recordset
    rsCanna.FindFirst "Freigabetext  < ' '"
    rsCanna.Close
    Set rsCanna = Nothing
abläuft, dann stolpert das ganze beim Current-Ereignis
    If Me.Freigabetext > "" Then
        Me.Auswahl.Enabled = False
        Me.Auswahl.Locked = True
    Else
        Me.Auswahl.Enabled = True
        Me.Auswahl.Locked = False
    End If
der für die Sperrung/Entsperrung des Auswahlfeldes nötig ist, mit Laufzeitfehler 2424 (hast du im August 2009 mit Hanskuhn besprochen)

Lösche ich den Load-Code, so läuft alles durch (keine Fehlermeldung) und die zu sperrenden Kontrollkästchen sind gesperrt, die anderen entsperrt, wie es sein soll. Also muss es an dem Load-Code liegen...und ich komme gar nicht dazu, festzustellen ob das so funktioniert...

Beaker s.a.

Hallo,
rsCanna.FindFirst "Freigabetext  < ' '"Na ja, diese Zeile findet ja nichts. D.h. der DS-Zeiger im RS
steht auf BOF oder EOF.
Ich vermute, dass du diesen DS finden willst
rsCanna.FindFirst "Len(Freigabetext) = 0"
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

#6
Hallo,

ich habe (be-)geschrieben:



Zitat.
.
.
 Dim rsCanna As DAO.Recordset
    Set rsCanna = Me.Recordset
    rsCanna.FindFirst "Freigabetext not null"
    rsCanna.FindFirst "Freigabetext  < ' '"
    rsCanna.Close


    Set rsCanna = Nothing
.
.
.


damit wird der Cursor auf den ersten Datensatz positioniert, bei dem "Freigabetext"  nicht leer (NULL) ist.

Wenn auf den ersten "leeren Freigabetext" positioniert wwerden soll, dann eben so:

rsCanna.FindFirst "Freigabetext is  null"


Zitatim August 2009 mit Hanskuhn besprochen

Du bist lustig.    :o   Meinst Du, ich kann mich an einen bestimmten Beitrag von vor 13 Jahren erinnern??  :D 
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo Franz,
Bei Textfeldern finde ich die Prüfung auf NULL irgendwie heikel,
da dort durchaus auch ein Leerstring drin sein kann. Deshalb
bevorzuge ich in diesen Fällen die Prüfung auf Länge = (<>) 0.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo Ekkehard,


trotzdem muss man aufpassen:

?Len(null)
Null

?Len("")
 0



alles abdeckend:

If Len(nz([Feld],"")) = ""  Then   ' Leersting oder leer   
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Walterio

Erfolg!

Habe es mit   rsCanna.FindFirst "Nz(Freigabetext, ' ')  <=  ' '"    gelöst.

Danke an euch alle.

P.S. Habe ich dass schon mal gesagt? Das ist ein tolles Forum!