Zugriff auf Datenbankfelder (im Netz)
Moderator: Moderatoren
- satmax
- 1000 working lines a day
- Beiträge: 831
- Registriert: Do, 02. Dez 2010 19:34
- Wohnort: Biberbach in Österreich
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Zugriff auf Datenbankfelder (im Netz)
Ich habe das bisher immer so gehandhabt:
...
Datensatz anfahren
Alle Felder in Varibalen eingelesen (Im Prinzip in eine Struktur zB. "sDaten"), eine Kopie dieser Struktur angelegt " sDatenBak
// DATENBANK einlesen
sDaten:name:=STAMMDATEN->NAME
...
Felder zum editieren anzeigen lassen (eventuell vorm Editieren nochmals neu einlesen)
sDaten:name
sDaten:vorname
...
Beim Speichern geprüft on sich etwas geändert hat sDaten <> SDatenBak
Wenn Ja
RECORD LOCK
REPLACE STAMMDATEN->NAME WITH sDaten:name
RECORD UNLOCK
...
So brauche ich den Record nur kurz gelockt zu halten. Wenn ich eine Eingabemaske zur Bearbeitung sperren wollte, habe ich mit einem File Semaphore gearbeitet.
Die Strukture habe ich mit
define structure sDate as ....
angelegt (von Huggle& Partner da wird dann _StructDef aufgerufen).
Ich könnte das jetzt mit einem Array nachbilden. Zuvor wollte ich fragen wie Ihr das macht, eventuell gibt es da unter Xbase (eXPress) andere Lösungsansätze.
Gruß
Markus
...
Datensatz anfahren
Alle Felder in Varibalen eingelesen (Im Prinzip in eine Struktur zB. "sDaten"), eine Kopie dieser Struktur angelegt " sDatenBak
// DATENBANK einlesen
sDaten:name:=STAMMDATEN->NAME
...
Felder zum editieren anzeigen lassen (eventuell vorm Editieren nochmals neu einlesen)
sDaten:name
sDaten:vorname
...
Beim Speichern geprüft on sich etwas geändert hat sDaten <> SDatenBak
Wenn Ja
RECORD LOCK
REPLACE STAMMDATEN->NAME WITH sDaten:name
RECORD UNLOCK
...
So brauche ich den Record nur kurz gelockt zu halten. Wenn ich eine Eingabemaske zur Bearbeitung sperren wollte, habe ich mit einem File Semaphore gearbeitet.
Die Strukture habe ich mit
define structure sDate as ....
angelegt (von Huggle& Partner da wird dann _StructDef aufgerufen).
Ich könnte das jetzt mit einem Array nachbilden. Zuvor wollte ich fragen wie Ihr das macht, eventuell gibt es da unter Xbase (eXPress) andere Lösungsansätze.
Gruß
Markus
Gruß
Markus
Markus
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Hallo Markus,satmax hat geschrieben:..Ich könnte das jetzt mit einem Array nachbilden. Zuvor wollte ich fragen wie Ihr das macht, eventuell gibt es da unter Xbase (eXPress) andere Lösungsansätze.
in Kürze (????? ) soll xBase++ 2.0 rauskommen. Das beinhaltet DataObjects. Und damit kann man so etwas super machen.
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Array geht auch ganz gut, weil scatter() ein Array aus dem aktuellen Datensatz erzeugt.
mit ACLONE() oder 2 Aufrufen hättest du eine Kopie und ein Original zum Ändern.
Arrays sind deshalb gut weil man mit AEVAL() oder Schleifen arbeiten kann ... auf Felder greift man dann mit FieldPut(x,uWert) bzw. FieldGet() zu.
Man könnte aktuell auch eine allgemeine Klasse erstellen und per Feldname darauf zugreifen. Alle nicht definierten Variablen/Methoden landen dann in
allerdings sind auf diese Weise angelegte Felder ziemlich langsam, erst Xbase++ 2.0 wird das einfacher und schneller machen => die erwähnten Datenobjekte.
mit ACLONE() oder 2 Aufrufen hättest du eine Kopie und ein Original zum Ändern.
Arrays sind deshalb gut weil man mit AEVAL() oder Schleifen arbeiten kann ... auf Felder greift man dann mit FieldPut(x,uWert) bzw. FieldGet() zu.
Man könnte aktuell auch eine allgemeine Klasse erstellen und per Feldname darauf zugreifen. Alle nicht definierten Variablen/Methoden landen dann in
Code: Alles auswählen
Abstract() - Abstrakte Klasse mit einer einheitlichen Schnittstelle für andere Klassen
:noMethod()- Verarbeitet Aufrufe von definierten Methoden
:setNoIVar( <cMessage>, <xValue> )
:getNoIVar( <cMessage> ) --> xReturn
Gruß
Hubert
Hubert
- satmax
- 1000 working lines a day
- Beiträge: 831
- Registriert: Do, 02. Dez 2010 19:34
- Wohnort: Biberbach in Österreich
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Danke für die Hinweise, warten geht leider nicht...
AClone() kenne ich Scatter() nicht wirklich. Wo finde ich diese Function? In meiner Doku ist da nichts.
Wie macht Ihr das mit der Doku? Früher mit ng war das super, alle Hersteller konnten dieses Format. Kopiert Ihr die winhelpfiles der verschiedenen Hersteller in einen gemeinsamen Ordner? Oder gibts da eine Online-Wiki?
AClone() kenne ich Scatter() nicht wirklich. Wo finde ich diese Function? In meiner Doku ist da nichts.
Wie macht Ihr das mit der Doku? Früher mit ng war das super, alle Hersteller konnten dieses Format. Kopiert Ihr die winhelpfiles der verschiedenen Hersteller in einen gemeinsamen Ordner? Oder gibts da eine Online-Wiki?
Gruß
Markus
Markus
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
In einem Verzeichnis auf dem Desktop habe ich LINKS zu den Hilfedateien für Xbase++ plus Zusatztools.
Scatter() ist nicht dokumentiert, aber verfügbar.
Gather() ist das Gegenteil, aber mit dem stehe ich auf dem Kriegsfuß
Scatter() ist nicht dokumentiert, aber verfügbar.
Gather() ist das Gegenteil, aber mit dem stehe ich auf dem Kriegsfuß
Gruß
Hubert
Hubert
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Mit Express++ geht das z.B. so (ähnlich wie mit DataObjects bei 2.0):
Weiterhin gibt es noch viele Funktionen, die mit diesen Objecten umgehen können (duplizieren, loggen von Gatherbefehlen etc.)
Code: Alles auswählen
** Datensatzobject anlegen
oKuRec:=ku->(DC_DbRecord():new())
** Daten einlesen
ku->(DC_DbScatter(oKuRec))
** Daten manipulieren, (Namen wie in DBF)
oKuRec:Kundennr:="12345"
** Daten zurück in Datenbank
ku->(DC_DbGather(oKuRec) (evtl. mit 2. Parameter .T., dann wird ein neuer Datensatz angelegt)
Viele Grüße
Wolfgang
Wolfgang
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Zugriff auf Datenbankfelder (im Netz)
Hallo,
da im Titel steht "im Netz" - also brauchst Du ZWEI Strukturen, eine nimmt das Abbild beim Einlesen auf und wird nicht verändert, mit der zweiten wird gearbeitet. Nach dem LOCK RECORD wird die erste Struktur gegen den Datensatz geprüft, ob sich zwischenzeitlich durch Dritte Änderungen ergeben haben. Und erst, wenn feststeht, dass es keine Änderungen gegeben hat, schreibst Du die Daten zurück.
Wurden Daten geändert (konkurrierendes Update), musst Du von Fall zu Fall entscheiden, was getan werden soll.
da im Titel steht "im Netz" - also brauchst Du ZWEI Strukturen, eine nimmt das Abbild beim Einlesen auf und wird nicht verändert, mit der zweiten wird gearbeitet. Nach dem LOCK RECORD wird die erste Struktur gegen den Datensatz geprüft, ob sich zwischenzeitlich durch Dritte Änderungen ergeben haben. Und erst, wenn feststeht, dass es keine Änderungen gegeben hat, schreibst Du die Daten zurück.
Wurden Daten geändert (konkurrierendes Update), musst Du von Fall zu Fall entscheiden, was getan werden soll.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- satmax
- 1000 working lines a day
- Beiträge: 831
- Registriert: Do, 02. Dez 2010 19:34
- Wohnort: Biberbach in Österreich
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Ich habe zwei Strukturen.georg hat geschrieben:Hallo,
da im Titel steht "im Netz" - also brauchst Du ZWEI Strukturen, eine nimmt das Abbild beim Einlesen auf und wird nicht verändert, mit der zweiten wird gearbeitet. Nach dem LOCK RECORD wird die erste Struktur gegen den Datensatz geprüft, ob sich zwischenzeitlich durch Dritte Änderungen ergeben haben. Und erst, wenn feststeht, dass es keine Änderungen gegeben hat, schreibst Du die Daten zurück.
Wurden Daten geändert (konkurrierendes Update), musst Du von Fall zu Fall entscheiden, was getan werden soll.
Gruß
Markus
Markus
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Zugriff auf Datenbankfelder (im Netz)
Das hatte ich aber auch gehofft.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- AUGE_OHR
- Marvin
- Beiträge: 12908
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Zugriff auf Datenbankfelder (im Netz)
auch bei GET hast du unter Cl*pper schon ein Object gehabt.satmax hat geschrieben:Ich habe das bisher immer so gehandhabt:
...
Datensatz anfahren
Alle Felder in Varibalen eingelesen (Im Prinzip in eine Struktur zB. "sDaten"), eine Kopie dieser Struktur angelegt "
...
Beim Speichern geprüft on sich etwas geändert hat sDaten <> SDatenBak
Es gibt die Property ( Eigenschaft ) o:original und o:changed die man dazu gebrauchen kann.
unter Cl*pper ist die GetList ja bekannt. Wenn du dir Class Code vom Formdesigner ansiehst hast du für jedes Feld eine Class Var pro SLE
Code: Alles auswählen
VAR editControls
...
::Bestand := XbpSLE():new( ::drawingArea ... )
...
AAdd( ::editControls, ::Bestand )
wenn du Feld Inhalte anzeigen (SAY) willst musst du die aus der DBF holen mit
Code: Alles auswählen
* Werte in Editcontrols übertragen
AEval ( ::EditControls, { | oXbp | oXbp:SetData() } )
ein Pushbutton zum navigieren könnte so aussehen
Code: Alles auswählen
oXbp:activate := {|| Gather( aEditControls ) ,;
CUSTOMER->(DbSkip(-1)) ,;
Scatter ( aEditControls ) }
gruss by OHR
Jimmy
Jimmy
- satmax
- 1000 working lines a day
- Beiträge: 831
- Registriert: Do, 02. Dez 2010 19:34
- Wohnort: Biberbach in Österreich
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Hallo Jimmy,
Danke für Deine Ausführungen. Wenn ich jetzt eine Objekt GetList habe, wie kann ich da auf ein bestimmtes GetObjekt zugreifen, Beispiel:
Das ist zwar jetzt in eXpress geschrieben, der Zugriff auf oGet via oGetList sollte aber gleich bleiben.
Gruß
Markus
Danke für Deine Ausführungen. Wenn ich jetzt eine Objekt GetList habe, wie kann ich da auf ein bestimmtes GetObjekt zugreifen, Beispiel:
Code: Alles auswählen
oRecord := STAMMDAT->(DC_DbRecord():new())
STAMMDAT->(DC_DbScatter(oRecord))
// GUI ON // turn on GUI mode
GetList := {}
@ 4,1 DCSAY 'Kundennummer' GET oRecord:kdnr
@ 6,1 DCSAY 'Anrede ' GET oRecord:anrede
@ 7,1 DCSAY 'Name ' GET oRecord:name GETSIZE 30
...
@ 30, nSpalte+=8 DCPUSHBUTTON CAPTION "~Löschen" SIZE 8, 1 ACTION {||delRecord(oRecord,GetList)}
...
DCREAD GUI
...
static function delRecord(oRecord,GetList)
// Hier möchte ich über das Objekt GetList auf das GetObjekt oRecord:name zugreifen
// Laienhaft GetList oRecord:name:readvar()
Gruß
Markus
Gruß
Markus
Markus
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Hallo Markus,
ich mache das fast ausschließlich mit Arrays. Es sind mehrdimensionale Array die beinhalten, den Inhalt des Feldes, die datenbank, den feldnamen, satznummer
beim speichern. wird das array durchlaufen, db öffnen - dbgoto fieldput - db schliessen
ca 4. Zeiler
ich mache das fast ausschließlich mit Arrays. Es sind mehrdimensionale Array die beinhalten, den Inhalt des Feldes, die datenbank, den feldnamen, satznummer
beim speichern. wird das array durchlaufen, db öffnen - dbgoto fieldput - db schliessen
ca 4. Zeiler
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Hallo Markus,
was willst du denn Löschen ? Den Satz in der DBF ?
was willst du denn Löschen ? Den Satz in der DBF ?
Viele Grüße
Wolfgang
Wolfgang
- satmax
- 1000 working lines a day
- Beiträge: 831
- Registriert: Do, 02. Dez 2010 19:34
- Wohnort: Biberbach in Österreich
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Hallo Wolfgang,
nein, das ist nur ein Beispiel. Es geht mir um den Zugriff auf ein oGet aus einem aGetList. Oder anders gesagt, wie greife ich in einer Subroutine einfach auf ein oder mehrere oGet Objekte aus meiner aktuellen GetList zu.
Ich stehe vor der Entscheidungsfindung:
a) Mache ich die Umsetzung mit xBase(zu 90% ja)
b) Welche Tools verwende ich (eXpess oder TopDown)
In eXpress habe ich schon einiges angetestet , in TopDown habe ich diese Möglichkeit leider nicht.
Vom Demo gefällt mir TD mehr. Nur dem Desinger traue ich nicht so ganz. Ich denke es ist effizienter die Masken mit @ Zeile, Spalte zu erstellen.
Leider Habe ich von dem TD Demo keinen Sourcecode und kann mir dadurch kein Bild darüber machen.
nein, das ist nur ein Beispiel. Es geht mir um den Zugriff auf ein oGet aus einem aGetList. Oder anders gesagt, wie greife ich in einer Subroutine einfach auf ein oder mehrere oGet Objekte aus meiner aktuellen GetList zu.
Ich stehe vor der Entscheidungsfindung:
a) Mache ich die Umsetzung mit xBase(zu 90% ja)
b) Welche Tools verwende ich (eXpess oder TopDown)
In eXpress habe ich schon einiges angetestet , in TopDown habe ich diese Möglichkeit leider nicht.
Vom Demo gefällt mir TD mehr. Nur dem Desinger traue ich nicht so ganz. Ich denke es ist effizienter die Masken mit @ Zeile, Spalte zu erstellen.
Leider Habe ich von dem TD Demo keinen Sourcecode und kann mir dadurch kein Bild darüber machen.
Gruß
Markus
Markus
- satmax
- 1000 working lines a day
- Beiträge: 831
- Registriert: Do, 02. Dez 2010 19:34
- Wohnort: Biberbach in Österreich
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
scatter() und gather() leisten da gute dienste, so viel habe ich unter anderem schon gelernt hier bei Euch.Rolf Ramacher hat geschrieben:Hallo Markus,
ich mache das fast ausschließlich mit Arrays. Es sind mehrdimensionale Array die beinhalten, den Inhalt des Feldes, die datenbank, den feldnamen, satznummer
beim speichern. wird das array durchlaufen, db öffnen - dbgoto fieldput - db schliessen
ca 4. Zeiler
Gruß
Markus
Zuletzt geändert von satmax am So, 22. Sep 2013 18:59, insgesamt 1-mal geändert.
Gruß
Markus
Markus
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Also es gibt da schon Möglichkeiten über DC_GetListObject usw. aber alle Werte des Datensatzes hast du doch schon in deinem oRecord-Object, d.h. z.B. über oRecord:kundennr oder oRecord:kundname kannst du auf die Werte zugreifen.nein, das ist nur ein Beispiel. Es geht mir um den Zugriff auf ein oGet aus einem aGetList. Oder anders gesagt, wie greife ich in einer Subroutine einfach auf ein oder mehrere oGet Objekte aus meiner aktuellen GetList zu.
Oder was möchtest du in deiner Subroutine an den Gets ändern ?
Viele Grüße
Wolfgang
Wolfgang
- satmax
- 1000 working lines a day
- Beiträge: 831
- Registriert: Do, 02. Dez 2010 19:34
- Wohnort: Biberbach in Österreich
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Danke Wolfgang, oRecord passt genau. Ich dachte immer die Änderungen in einem Get Feld werden erst nach dem read nach oRecord übertragen. Die Daten stehen aber unmittelbar nach dem editieren schon zur Verfügung. Das werden einige harte Wochen bis ich da wieder reinkommen...Wolfgang Ciriack hat geschrieben:Also es gibt da schon Möglichkeiten über DC_GetListObject usw. aber alle Werte des Datensatzes hast du doch schon in deinem oRecord-Object, d.h. z.B. über oRecord:kundennr oder oRecord:kundname kannst du auf die Werte zugreifen.nein, das ist nur ein Beispiel. Es geht mir um den Zugriff auf ein oGet aus einem aGetList. Oder anders gesagt, wie greife ich in einer Subroutine einfach auf ein oder mehrere oGet Objekte aus meiner aktuellen GetList zu.
Oder was möchtest du in deiner Subroutine an den Gets ändern ?
Unter clipper habe ich auch teilweise mit Fenster gearbeitet, der Kunde konnte so während der Auftragsbearbeitung alle Stammdaten änderen und neu anlegen, oder auch von jeder beliebigen Programmstelle per Hotkey auf verschiedene Stammdaten zugreifen und ändern. Dazu habe ich am Programmstart alle DBs geöffnet und im Programm dann jeweils mit
// Workarea sichern
nRecNo:=RecNo()
nOldSelect:= SELECT(Stammdaten)
Subroutinen ausgeführt
....
// am ende wieder
// Workarea wiederherstellen
SELECT(nOldSelect)
Goto nRecNo
(so aus dem Kopf raus)
Wäre es unter Windows nicht besser und einfacher, in jedem Dialog einfach die entsprechenden Datenbanken neu zu öffnene und beim Verlassen wieder zu schließen? So habe ich kein Problem mit mehren Instanzen, jede hat ja dann Ihr eigenes DB Objekt. Zumindest für die meisten Fälle.
Ausserdem überlege ich, ein Datenbankfeld "TIMESTAMP" in jeden Record einzufügen. In "TIMESTAMP" steht immer Datum+Uhrzeit der letzten Datensatzänderung, so kann man leicht überprüfen ob sich seit dem letzten read der Datensatz geändert hat. Eventuell auch gleich noch das Feld des aktuellen Benutzers dazu und ich weiß wer wann den Datensatz zuletzt geändert hat.
Gruß
Markus
Gruß
Markus
Markus
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Da solltest du überlegen, ob du nicht die einzelnen Programmteile in verschiedenen Threads laufen läßt, diese sind unabhängig voneinander, und in jedem Thread die Datenbanken, die du benötigst, öffnest.
Zum vergleichen von Record-Objecten bietet sich dann auch DC_DbRecordCompare() an (Original mit Eingelesenem vergleichen). Auch gibt es noch mehrere nützliche Funktionen, schau mal in der Hilfe bei DC_Db...
Zum vergleichen von Record-Objecten bietet sich dann auch DC_DbRecordCompare() an (Original mit Eingelesenem vergleichen). Auch gibt es noch mehrere nützliche Funktionen, schau mal in der Hilfe bei DC_Db...
Viele Grüße
Wolfgang
Wolfgang
- satmax
- 1000 working lines a day
- Beiträge: 831
- Registriert: Do, 02. Dez 2010 19:34
- Wohnort: Biberbach in Österreich
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
- Kontaktdaten:
Re: Zugriff auf Datenbankfelder (im Netz)
Das mit den Threads möchte ich im Moment noch lassen, das wird mir zu viel für den ersten Einstieg, aber danke für den Hinweis. Ich möchte mal die Stammdaten fertig machen und dann weiter überlegen. Im Hauptprogramm gibt es 2 Teile da könnte das mit den Threads durchaus Sinn machen.
Beste Grüße
Markus
Beste Grüße
Markus
Gruß
Markus
Markus