Zahlen aus String kopieren.

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Zahlen aus String kopieren.

Beitrag von MikeRo »

Hallo,

ich habe folgendes Problem. Ich habe eine Datenbank Abfrage die eine ListBox in einem Dialog füllt.
Dort werden hintereinander die einzelnen Spalten angezeigt.

Beispiel Listeneintrag.

(ID | Name | Anzahl | Wert | Status)
-------------------------------------------------------------------
12345 | Test | 2334 | 346094 | Bearbeitet
2354 | Test22 | 3445 | 56534 | unbearbeitet

Da es mehrere Einträge geben kann und man Einträge bearbeiten soll, muss es ich irgendwie aus dem String in der Liste (Des gewählten Eintrags) die ID herausbekommen. Die Einträge sind alle gleich aufgebaut. Ich dachte erst es gibt immer nur 5 Stellige ID's, daher habe ich erst mit dem Left Befehl gearbeitet. Allerdings kann es auch ältere Einträge geben die nur eine 3 oder vierstellige ID haben. Wie kann ich am besten die ID's aus dem String herauslesen? Anders kann ich nämlich keine update oder Delete sql erstellen.

Hier ist mein aktueller Code um die ID aus dem Eintrag zu lesen. Allerdings geht es ja nicht mehr wenn die ID vier oder dreistellig ist.

Code: Alles auswählen

	eListBoxAuswahl = oBefrag_Dialog.getControl("Ausgabe")
	aAuswahl = eListBoxAuswahl.SelectedItem
	
	If aAuswahl = "" Then
	MsgBox "Bitte eine Auswahl treffen!", 48, "Achtung!"
	Else
		ID = Left(aAuswahl,5)
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

Re: Zahlen aus String kopieren.

Beitrag von Maggus »

Hi MikeRo,

stelle doch einfach mit Hilfe von Instr() fest, an welcher stelle deine Pipe (|) steht und nimm das dann für die Left() Funktion.

Code: Alles auswählen

ID = Left(aAuswahl,Instr(" | "))
oder so ähnlich...

Gruß,
Maggus (:o)
Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Re: Zahlen aus String kopieren.

Beitrag von MikeRo »

Maggus hat geschrieben:Hi MikeRo,

stelle doch einfach mit Hilfe von Instr() fest, an welcher stelle deine Pipe (|) steht und nimm das dann für die Left() Funktion.

Code: Alles auswählen

ID = Left(aAuswahl,Instr(" | "))
oder so ähnlich...

Gruß,
Ich habe es mal ausprobiert, und bei der Anzeige die Leerstellen nach der ID bis zum | gelöscht.
Ich denke so wird es immer funktionieren, egal wie lang die ID ist.

Code: Alles auswählen

		LokalID = Left(aAuswahl,(Instr(aAuswahl,"|")-1))
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Antworten