Seite 1 von 1

Einlesen von MEMO Feldern

Verfasst: Fr, 29. Mär 2019 14:03
von sheepard
Hallo, ich habe folgendes Problem,

Aufgabe
ich muss mit meiner Anwendung eine dBase-Tabelle im Format CDX einlesen,
in dieser befindet sich ein Feld namens SUGR, dieses ist ein Pointer in ein BLOB-Feld(wird in der dbf nicht angezeigt sondern, steht laut hex Editor in einer FPT Datei).

Umsetzung
Der Pointer enthält dann ein Array was Ich anzeigen lassen muss (dieses enthält einen text).
Das ganze setze ich so um, das ich ein XbpBrowse erstelle und dort die Datenbank mit USE öffne und dann nach dem Beispiel von xbase (dbbrowse) die Tabelle aufliste. Dann kann ich rechtscklick auf den header machen und der Name dieses wird als string an meine Read Data funktion übergeben.
Jetzt soll sich dann ein Fenster öffnen in dem mir das Array des MEMO Feldes angezeigt wird.

Code

Code: Alles auswählen

PROCEDURE readData(nColName)
	LOCAL feld, data, file
	LOCAL memodata := {}
	feld := FieldName(nColName)
	
	USE datenbank VIA "FOXDBE" 
	
	data := Bin2Var( datenbank -> feld )
   	IF data != NIL
   		MsgBox("verbindung geht")
   	ENDIF
   	
   	FOR i := 1 TO len(data)
   		AAdd(memodata, i)
  	NEXT
	
RETURN
Problem
Ich habe es versucht umzusetzen aber bekomme bevor ich überhaupt in die For Schleife komme schon einen Fehler:
Error BASE/8027
Description: Unknown symbol for database field
Operation: field
THREAD ID: 1

Edit: Rechtschreibfehler behoben.

Ich hoffe Ihr könnt mir helfen, grüße Nils

Re: Einlesen von MEMO Feldern

Verfasst: Fr, 29. Mär 2019 14:47
von Tom
Der Alias "KVSPEZ" ist nicht vergeben. Der Feldname müsste via Makro oder FieldPos() aufgelöst werden. Einfacher aber geht's so:

Code: Alles auswählen

Data := FieldGet(nColName)

Re: Einlesen von MEMO Feldern

Verfasst: Fr, 29. Mär 2019 14:55
von Martin Altmann
Äh Tom: Brille :-)
Nils,
Deine Variable heißt feld (ohne i), nutzen hinter dem Alias tust du aber field (mit i). Nimm da mal das i weg.

Viele Grüße,
Martin

Re: Einlesen von MEMO Feldern

Verfasst: Fr, 29. Mär 2019 15:58
von sheepard
Waren beides Rechtschreibfehler von mir, hab beides behoben.
KVSPEZ = datenbank

Habe auch den Unknown Symbol Fehler behoben bekommen, jedoch habe ich immer noch das Problem, dass ich nicht weiß wie ich den Pointer der in meinem "feld" steht auf mein Memo Feld in meiner FPT Datei zeigen lassen soll.
Da ich ja im Endeffekt anhand dieses Pointers mir die Daten aus dem MEMO Feld holen muss.