PDA

Vollständige Version anzeigen : Zahl und Text als String verbinden


vhoenn
03.08.2001, 11:20
Hallo Leute,
hier mal wieder was zum Entspannen, soll heissen eine leichte Übung für euch. Ich möchte über ein ungebundenes Eingabeformular eine Zahl (Feld: Stunden) und einen Text (Feld: Bezeichnung / dieser Text ist immer gleich)so verbinden, dass sie als gemeinsamer String in einer Tabelle gespeichert werden. Beispiel: "40 Wochenstunden" soll das Ergebnis sein.

Wer kann mir einen Tip zur Lösung geben. Vielen Dank für die Hilfe.

------------------
vw

MarioR
03.08.2001, 11:49
Hallo Veronika,

ganz einfach
=Me.Stunden & " " & Me.Bezeichnung

Z.B. im Ereignis BeimKlicken eines Buttons "Speichern".

Morli
03.08.2001, 11:49
Hi Veronika,

also wenn Du die Möglichkeit hast, das Formular an die Tabelle mit dem entsprechenden Feld zu binden und dann dieses Feld (unsichtbar) in des Formular legst, dann geht z.B. beim Ereignis "Nach Aktualisieren" des Feldes "Stunden":

Me.DeinFeld = Me.Stunden & " " & Me.Bezeichnung

Wenn Du das Form nicht binden kannst oder willst, dann könntest Du auch beim Ereignis "Nach Aktualisieren" der Feldes "Stunden" folgendes eingeben:

DoCmd.RunSql "UPDATE DeineTabelle SET DeinFeld = " & Me.Stunden & " " & Me.Bezeichnung

Gruß

Rainer ;)

vhoenn
03.08.2001, 13:16
Hallo Mario, hallo Rainer,
vielen Dank für eure Hilfe. Ich habe soeben die SQL-Lösung versucht, da ich ein ungebundenes Formular verwenden möchte.

Leider bekomme ich mit folgendem Code

DoCmd.RunSQL "UPDATE Vertragstypen SET Bezeichnung = " & Me.Stunden & " " & Me.Titel

die Fehlermeldung: Syntaxfehler (fehlender Operator) in Abfrageausdruck '40 Wochenstunden'

Was mache ich falsch Rainer?

Andorxor
03.08.2001, 13:22
Versuch es so:
DoCmd.RunSQL "UPDATE Vertragstypen SET Bezeichnung = ' " & Me.Stunden & " " & Me.Titel & "'"

Andorxor
03.08.2001, 13:23
Tschuldingung hab ein ' vergessen
DoCmd.RunSQL "UPDATE Vertragstypen SET Bezeichnung = '" & Me.Stunden & " " & Me.Titel &"'"

vhoenn
03.08.2001, 13:33
Hallo Andorxor,
ich habe gerade deinen Vorschlag probiert. Jetzt werden zwar die beiden Teile gemeinsam in die Spalte geschrieben, aber der Vorgang aktualisiert alle anderen Datensätze mit dem selben Wert. Das soll nicht sein. Ich möchte diesen Vorgang nur bei einer neuen Dateneingabe verwenden.

Hast du einen Vorschlag?

Gruss Veronika

------------------
vw

vhoenn
03.08.2001, 15:20
Hallo Rainer, hallo Andorxor,

bitte lasst mich nicht im Regen stehn mit meinem Problem. Wie geht´s weiter?

Gruss Veronika

------------------
vw

A.S.
03.08.2001, 15:26
Hallo Veronika,

naja, irgendwoher muß ja auch eine Zuordnung für diese 40 Wochenstunden kommen ;)

Du brauchst zumindest eine Listbox oder Combo auf dem Formular aus dem Du beim Speichern der Angabe eine ID ziehen kannst, die vorher zu selektieren ist.

Dann mit

DoCmd.RunSQL "UPDATE Vertragstypen SET Bezeichnung = '" & Me.Stunden & " " & Me.Titel & _
"' WHERE Vertragstypen.ID = " & Me.Combo.Value

weiterarbeiten. Die Where-Clause schränkt die Datensätze die Upzudaten sind, dann schon ganz erheblich ein ;)

Gruß

Arno

A.S.
03.08.2001, 15:27
PS Kann auch auf einem anderen Formular liegen (die Combo). Mußt dann halt nur den Bezug darauf nehmen.

Morli
03.08.2001, 15:36
Hallo Veronika,

wenn Du also den Wert nur einem bestimmten Datensatz zuweisen willst, dann würde ich das Formular doch binden und dann das Formular mit diesem Datensatz aufrufen.
Dann würde ich so verfahren, wie ich es im meiner ersten Antwort geschrieben habe.

Gruß

Rainer ;)

vhoenn
03.08.2001, 15:55
Hallo Arno,

vielen Dank für deine Hilfe. Ich würde gerne das Tabellen-Feld "Vertrags_ID" (AutoWert)auf dem Formular verwenden. Mit jedem neuen Eintrag soll das ergänzt werden. Geht das und wenn ja wie?

Gruss Veronika



------------------
vw

A.S.
03.08.2001, 16:06
Hallo Veronika,

das einfachste ist da wirklich der Vorschlag von Rainer. Das Formular an die Tabelle binden und das Feld zusammenbinden lassen.

Wenn das aus irgendwelchen Gründen nicht geht, und seien sie nicht technischer Natur, ist das natürlich etwas anderes, aber dann sag bitte noch einmal bescheid ;)

Gruß

Arno

vhoenn
03.08.2001, 16:23
Hallo Arno, hallo Rainer,

die erste Lösung habe ich jetzt nochmals versucht und es klappt super. Ich bin Anfängerin und ein wenig begriffsstutzig ;-). Eine unglückliche Kombination, ich weiss das.

Umso mehr danke ich nochmals für eure geduldige Hilfe.

Gruss Veronika

------------------
vw