xaero1982
Goto Top

Access Textbausteine in Textfeld übertragen

Aloha,

ich habe eine "dankbare Aufgabe" erhalten. Eine Access-DB anzupassen. Nun ja ... ich bin kein Crack und halte nicht viel von Access.

Die Frage ist aber:

Ich habe eine Liste mit Textbausteinen:
Diese möchte ich gerne per Doppelklick in das danebenstehende Textfeld übertragen - natürlich nur die, die ich geklickt habe.

Wenn ich neue übertrage in das Textfeld sollen die alten bzw. der bisherige Text in dem Textfeld natürlich NICHT überschrieben bzw. gelöscht werden.

Wie kann ich das am einfachsten umsetzen?!

Bin für jeden Tipp dankbar!

VG und Thx!

Content-Key: 158889

Url: https://administrator.de/contentid/158889

Printed on: April 19, 2024 at 20:04 o'clock

Member: Milli2311
Milli2311 Jan 18, 2011 at 16:30:29 (UTC)
Goto Top
Hi Xaero,

Ich würde sagen per VBA. in deiner Liste als Ereignis Nach Aktualisierung musst du das alles in eine Variable stecken und aneinander hängen. Beim Öffnen des Formulars musst du dann den Text der schon in der Textbox steht an diese Variable übergeben, sodass du den Text beim Klicken in der Listbox nur erweiterst und nicht löschst.

Aber "ich habe eine Liste" ist nicht sehr genau. Kannst du vielleicht noch mal genau beschreiben was du wo wie hast ?

Viele Grüße

Milli
Member: Xaero1982
Xaero1982 Jan 18, 2011 at 16:43:03 (UTC)
Goto Top
Hi Milli,

was ich machen muss weiß ich schon, aber die Umsetzung ist mir nicht klar.

Es gibt eine Tabelle:

ID - Autowert
Baustein - Text

Dort sind Textbausteine hinterlegt.
Diese Textbausteine sollen am Besten per Doppelklick in ein danebenstehendes Textfeld übertragen werden und das Textfeld ggf. manuell ergänzt werden.
Es kommt vor, dass auch mehrere Textbausteine genutzt werden.
Momentan ist es so, dass der bisherige Text dann aus dem Textfeld gelöscht wird - FATAL!

Ich möchte quasi beliebig oft diese Textbausteine einfügen, OHNE, dass das Textfeld gelöscht wird.

VG
Member: NetWolf
NetWolf Jan 18, 2011 at 18:55:35 (UTC)
Goto Top
Moin Moin,

und wo ist das Problem?
Dein jetziger VBA Code sieht vermutlich so aus:

Me.DeinTextfeld = Me.DeinKombifeld

was hindert dich daran dies zu ändern in:
Me.DeinTextfeld = Me.DeinTextfeld & " "& Me.DeinKombifeld


Grüße aus Rostock
Wolfgang
(Netwolf)
Member: Biber
Biber Jan 18, 2011 at 19:03:00 (UTC)
Goto Top
[OT] @NetWolf

Zitat von @NetWolf:
was hindert dich daran dies zu ändern in:
Me.DeinTextfeld = Me.DeinTextfeld & " "& Me.DeinKombifeld

Aber haben dann nicht alle "einfachen" Textblöcke ein überzähliges leading blank ?... flitzzz wech

Grüße in alle Hansestädte
Biber
[/OT]
Member: Xaero1982
Xaero1982 Jan 18, 2011 at 22:51:23 (UTC)
Goto Top
Zitat von @NetWolf:
Moin Moin,

und wo ist das Problem?
Dein jetziger VBA Code sieht vermutlich so aus:

Me.DeinTextfeld = Me.DeinKombifeld

was hindert dich daran dies zu ändern in:
Me.DeinTextfeld = Me.DeinTextfeld & " "& Me.DeinKombifeld


Grüße aus Rostock
Wolfgang
(Netwolf)


Hach ja, kann man nicht einfach sachlich bleiben ohne überflüssige Kommentare?

Nein mein VBA Code sieht so aus:


Ich hab kein Plan von VBA und deswegen wandte ich mich an das Forum.

Wenn ich anderen Helfe komme ich auch nicht mit irgendwelchen überflüssigen Kommentaren daher, also warum kann man nicht generell auf sowas verzichten und schlicht ne Antwort präsentieren oder auch nichts?

VG und gn8
Member: jato11
jato11 Jan 19, 2011 at 06:54:01 (UTC)
Goto Top
Hallo
hast du denn schon ausprobiert was netwolf dir geschrieben?
Das Gleiche kannst du auch per Makro erledigen, "Setzen Wert ..."

Viele Grüße
Torsten
Member: Xaero1982
Xaero1982 Jan 19, 2011 at 08:24:14 (UTC)
Goto Top
Zitat von @NetWolf:
Moin Moin,

und wo ist das Problem?
Dein jetziger VBA Code sieht vermutlich so aus:

Me.DeinTextfeld = Me.DeinKombifeld

was hindert dich daran dies zu ändern in:
Me.DeinTextfeld = Me.DeinTextfeld & " "& Me.DeinKombifeld


Grüße aus Rostock
Wolfgang
(Netwolf)


Moin moin,

so heute wieder gut gelaunt face-smile Sorry Wolf....

Habs nun eingebaut und es funktioniert face-smile)

Nun noch ein weiteres "Problem":

Kann man mit VBA einen Timer bauen a la:

Start -> Timer läuft los
Stop -> Timer beendet
Dauer in Minuten wird in ein Textfeld eingetragen

Also bräuchte ich quasi 2 Knöpfe oder 3 ... mit Pause vielleicht noch.

Ist das irgendwie umsetzbar?

VG und Thx
Member: Xaero1982
Xaero1982 Jan 19, 2011 at 10:35:34 (UTC)
Goto Top
Hi,

also mit dem Timer hab ich soweit laufen, aber ich kann nicht rechnen face-smile

Also ich hab nun zwei Knöpfe:

Start & Stop

Beim Drücken auf Stop wird die Differenz zwischen Start & Stop ausgerechnet und in ein Textfeld geschrieben - > geht.
Dies wird jedoch in Sekunden getan -> Doof.
Also habe ich das durch 60 geteilt um auf Minuten zu kommen -> Ok

Problem: Ich brauch den Spaß in einer 6 Minutentaktung
D.h. erst ab 6 Minuten wird dort ein Wert eingetragen. Dann bei 12, 18, 24 usw.

Hat jemand ne Idee wie ich das umsetzen kann?

VG und Thx!
Member: NetWolf
NetWolf Jan 19, 2011 at 19:37:58 (UTC)
Goto Top
Moin Moin,

berechtigter Einwand!

Korrektur: Me.DeinTextfeld = LTRIM(Me.DeinTextfeld & " "& Me.DeinKombifeld)


Grüße aus Rostock
Wolfgang
(Netwolf)
Member: NetWolf
NetWolf Jan 19, 2011 at 20:15:07 (UTC)
Goto Top
Moin Moin,

ja, ich habe ne Idee:

Beispiel:

V_Minuten sind deine berechneten Minuten

Step_6 = V_Minuten / 6 ' mit Kommawerten
Step_6_Int = INT(Step_6) ' ohne Kommawerte

if Step_6 = Step_6_int then
' V_Minuten sind exakt durch 6 teilbar
else
' V_Minuten sind nicht exakt durch 6 teilbar
end if

Kurzfassung:

X_Minuten = V_Minuten/6
DeinWert = IIF((X_Minuten) = INT(X_Minuten),V_Minuten,0)
oder
DeinWert = IIF((X_Minuten) = INT(X_Minuten),V_Minuten,"")
falls nichts übergeben werden soll, wenn nicht durch 6 teilbar

Bei diesen Lösungen ist eine exakte Teilung durch 6 notwendig.

Soll auch zwischen den festen Zeiten ein Wert übergeben werden, rechnet man einfach:
DeinWert = INT(V_Minuten/6) * 6

Grüße aus Rostock
Wolfgang
(Netwolf)
Member: Xaero1982
Xaero1982 Jan 20, 2011 at 20:04:15 (UTC)
Goto Top
Hi,

habs nun etwas anders gelöst ...

Die sekunden / 60 und noch mal durch 60

Dann hab ich mit Round(Variable,1) gerundet und das Textfeld auf 1 dezimalstelle reduziert.

das entspricht dann
6 min = 0,1
12 min = 0,2
usw
Rundungen stimmen auch.

Dennoch vielen Dank!

VG
Member: Xaero1982
Xaero1982 Jan 21, 2011 at 21:16:28 (UTC)
Goto Top
Hat sich erledigt!

VG