Access Daten aus Textfeld in Ja/Nein-Felder ausles

Hallo Uwe,

wie machst Du das bisher? Nur über eine Abfrage? das wird nicht in einer funktionieren. Ich würde das in einem VBA-Modul realisieren. Hast Du schon mit VBA gearbeitet?

Gruß Birgit

Hallo Birgit,

bislang hab ich es wirklich über eine Abfrage versucht.
Mit VBA hab ich wenig Erfahrung.

Ich hab schon den Tipp bekommen mit dem Update-Befehl zu arbeiten, komme aber mit der Syntax noch nicht klar

Rauskommen soll
update: setze Feld „206“ in Tabelle „Kunden“ auf Ja, wenn in der Tabelle „Kunden“ String-Feld „Schlüssel“
irgendwo ‚206‘ enthält usw. für 207 209 507 509 …

Kannst du da bitte helfen?

Danke Uwe

Hallo Uwe,

hier ein Modul, ist aber noch ohne jegliche Fehlerbehandlung

++++++++++++++++++++++++++++++++++++++++++++++++++++
Function BoolFeld_setzen()

Dim rs As Recordset
Dim i As Integer

Set rs = CurrentDb.OpenRecordset(„tblKunden“, dbOpenDynaset)

For i = 205 To 209
rs.MoveFirst
Do Until rs.EOF
If InStr(1, rs!Kunde, CStr(i)) > 0 Then
rs.Edit
rs.Fields(CStr(i)) = -1
rs.Update
End If

rs.MoveNext
Loop
Next i

End Function
++++++++++++++++++++++++++++++++++++++++++++++++++++++

Musst Du natürlich noch für Deine Tabelle anpassen.

Gruß, Birgit

Lieber Uwe,

soweit ich die Anfrage verstehe, kann es nur mittel VBA-Programm gelöst werden. Die Möglichkeiten die eine Anfrage anbietet sind dazu nicht flexibel genug.

Ein Programm könnte eine Schleife über ein Feld nach dem anderen machen, eine Abfrage muss für jedes Feld extra gemacht werden.

Alois

Lieber Uwe,

soweit ich die Anfrage verstehe, kann es nur mittel VBA-Programm gelöst werden. Die Möglichkeiten die eine Anfrage anbietet sind dazu nicht flexibel genug.

Ein Programm könnte eine Schleife über ein Feld nach dem anderen machen, eine Abfrage muss für jedes Feld extra gemacht werden.

Alois

Hallo Uwe,

also wenig bis keine Erfahrung mit VBA.

Hier mal ne mögliche Lösung:

Private Sub Aufteilen_Click()
'Neue Variable definieren
Dim sQry AS String

'SQL-Abfrage der Varibalen zuweisen
'NZ - Prüfen, ob Tabellenfeld NULL enthält
'-1 entspricht True. 0 = false. Ist teilweise besser 'für die Programmierung
'In SQL-Anweisungen sollte Hochkommas anstelle von 'Anführungszeichen benutzt werden

sQry = "Update [alle_dopp] Set [206] = -1 " & _
"WHERE (InStr([NZ(Kollschl,’’)], ‚206‘) > 0)

Call CodeDB.Execute(sQry)
End Sub

Gruß
Ingo

Hallo Birgit,

ganz herzlichen Dank

Werde das gleich mal probieren.

Viele Grüße
Uwe

Hallo Uwe,

ist Deine Frage noch aktuell?

Gruß
Manfred

Hallo Manfred
ja kann noch einen guten Tipp gebrauchen

Die bislang vielversprechendste Aktion sind Versuche mit der Update-Funktion.

Wäre aber für einen anderen Tipp von dir sehr dankbar.

Viele Grüße
Uwe

Hallo Uwe,

da fängt es dann schon einmal an: Hast Du denn sicher für jedes mögliche „Zahlen-Ja-Nein-Feld“ schon alle Felder angelegt?

Wenn dem so ist, würde ich alle Datensätze in einer doppelten Schleife zuerst über alle Datensätze und dann alle Felder, aktualisieren. Das geht auch, wenn Du das Aktualisierungskriterium über alle Felder zusammenbaust: set [209] = (Instr(DeinFeld, ’ 209 ')>0).

Ich vermute, dass an der Stelle die Namen auch so etwas ähnliches wie Schlüssel sein könnten. Arbeitest Du in einer Tabelle oder in mehreren?

Und außerdem: Musst Du das einmalig machen, oder ist das eine regelmäßige Aktion? Und könnten bei der neue Felder „4711“ u. ä. dazukommen?

Gruß
Manfred

erst mal Danke an dich

Es ist eine Tabelle mit einem großen String so in der Art
209, 306, 405, 508,
oder
209, 504, 508, 705

aus dem müssen bestimmte Dreiercodes extrahiert werden (nicht alle sind notwendig)

Dafür gibt es Felder namens „209“ oder „508“ usw.
die Ja/Nein-Felder sind

Diese Aktion muss 1x pro Monat ausgeführt werden

Ich wollte auf der Basis dieser Tablle ein Formular erstellen und dort nur einen Button, der on Click die SQL-Funktion Update … mit dem entsprechenden Code
zum Extrahieren und Ändern der Ja/Nein Funktion in dem jeweiligen Feldern ausführt.
Soweit die Theorie.

Klick des Buttons und Ausführen der SQL-Anweisung bringt aber keine Ergebnisse, also keine Änderung in den Feldern „209“ „508“ usw.

Wenn du da noch einen Tipp hättest …

Viele Grüße
Uwe

Hallo Uwe,

ich könnte Dir eine kleine Dummy-Datenbank schicken, in der ich so etwas zusammen getackert habe. Ist vielleicht einfacher, als hier in einem Texteditor alles zu beschreiben.

Damit wäre aktuell noch nicht gelöst, dass u. U. neue Felder hinzukommen können. Aber da Du schreibst, dass nicht alle Dreiercodes notwendig sind, verstehe ich das so, dass die Tabelle die Dreiercodes „001“, „002“ und „003“ enthält; wenn im Texteintrag dann die „004“ steht, interessiert das erst mal nicht, denn die 004 wird ingoriert. Soll das so sein?

Gruß
Manfred

Hallo Manfred

genau; es stehen mehr Codes in dem Ausgangsstring als ausgelesen werden müssen, weil nur einige Angaben von Relevanz sind;

Danke dir für deine Mühe !!
VG Uwe franzl at inet-berlin.de

Hallo Uwe,

E-Mail-Adresse ohne Punkt, sehe ich das richtig? :wink:

Gruß
Manfred

Hallo Manfred,
verstehe ich grad nicht - früh am Morgen :wink:))
Gruß Uwe

[email protected]