Daten im Formular auswählen und dann kopieren

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

fichte.buche
***
Beiträge: 55
Registriert: Di, 29.03.2005 12:38

Daten im Formular auswählen und dann kopieren

Beitrag von fichte.buche »

Servus,

Ich hab eine weiter Frage zu OOo1.1.4 mit dBase Datenbank
Ich hab eine Tabelle mit Artikel welche Code, Name, Preis usw. beinhaltet.
Wie ich jetzt für einen Auftrag einen ausgewählten Datensatz mit den derzeit aktuellen Daten in eine andere Tabelle kopiere, das schaff ich leider nicht.

Oder anders:
Wäre es möglich daß ich nur den Code in einem Formular eingebe und ich kopiere mir dann aus der Tabelle mit den Artikeln die anderen Daten herüber? Wohlgemerkt keine Verknüpfung zu den Daten sondern diese kopieren.

Vielen Dank

fichte.buche
SteffenOOo
**
Beiträge: 49
Registriert: Mi, 22.09.2004 18:24

Keine Tabelle!

Beitrag von SteffenOOo »

Hallo!

also vom Grundverständnis - DBase ist keine Tabelle wie eine Starcalctabelle!!! D.H. es wird jeder Datensatz Satzweise geschrieben! Also z.B.: Artikel1; Eigenschaften,.... speichern usw. Kopieren in dem Sinn ist das also nicht in einem Schritt möglich.

Ich mache das so:

Habe in meiner Datenbank eine Feld mit einem Zeichenstz von einer Länge char(1) und dort kann ich im einfachsten Fall eine 1 reinschreiben oder nichts. Dann generiere ich daraus einen Bericht. Dieser fragt ab, ob eine 1 drinn steht oder nicht. Wenn ja - dann wird er in den Bericht aufgenommen. Wenn nein - dann nicht.

Die 1 schreibe ich nicht so rein sondern nehme so ein Häckchenfeld vom Formularnavigator. Der macht genau das. Häckcken rein er schreibt eine 1/ Häckchen raus er schreibt nichts.

Also Kurzform:

Markierfeld einführen
Bericht mit bedingter Abfrage - fertig

MFG Steffen
fichte.buche
***
Beiträge: 55
Registriert: Di, 29.03.2005 12:38

Versuch über Macro

Beitrag von fichte.buche »

Servus,

Ich hab so einiges probiert, aber ich bin jetzt zum Entschluß gekommen wenn ich aus einer Datenbank einen teil eines Datensatzes in die nächste Datenbank kopieren will geht ohne Macro nichts mehr.

Momenttan häng ich an dem Problem, daß ich im Formular den Datensatz wählen will und dabei z.B. den "Namen" im Macro einlesen will. Wenn ich das ganze aus einem seperatem Textfeld mache geht das mit GetByName("Name").
Wie macht man das aber aus der Tabelle heraus die ich im Formular habe?

Bitte im Hilfe DANKE

Viele Grüße
Fichte.Buche
SteffenOOo
**
Beiträge: 49
Registriert: Mi, 22.09.2004 18:24

Basic Zugriff

Beitrag von SteffenOOo »

Hallo,

aslo leider kann ich dir da noch nicht aus Erfahrung berichten - das steht auch noch vor mir.

Aber ich habe einen Artikel gefunden. Dort wird auf eine Mysql Datenbank zugefriffen. Das funktioniert ähnlich. Diese ist zwar über QDBC an Office engdockt - aber das geht mit Dbase auch.

Schau mal unter: http://www.openoffice.org/issues/show_bug.cgi?id=18327

Vielleicht hilft es.
MFG Steffen
Solltest du Erfolg haben - sage bescheid - dann frage ich bald dich! 8)
fichte.buche
***
Beiträge: 55
Registriert: Di, 29.03.2005 12:38

Habs herausgefunden

Beitrag von fichte.buche »

Hallo,

Ist nicht so schwer
Ich hab jetzt foldendes Makro, das ich über eine Schaltfläche auswähle.
Zum Schluß wird mir dann der in der Tabelle "ArtikelTab1" des Formulars ausgewählte Name (vom Datensatz) angezeigt.

Sub Main

Dim Doc As Object
Dim Page As Object
Dim Form As Object
Dim Field As Object
Dim Nameakt AS String

Doc = thisComponent
Page = Doc.DrawPage
Form = Page.Forms.GetByIndex(0)

Field = Form.GetByName("ArtikelTab1")
Nameakt = Field.GetByIndex(2).Text

msgbox(Nameakt,,"Der aktuelle Name ist:")

End Sub

Von hier muß ich dann weitergehen und die Daten wieder in eine andere Datenbank schreiben. Hier brauch ich noch ein wenig Zeit welche momentan Mangelware ist.

Viele Grüße
von den Bäumen
Antworten