Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Array in einer Access Tabelle speichern (https://www.delphipraxis.net/2384-array-einer-access-tabelle-speichern.html)

gfaw 21. Jan 2003 00:44


Array in einer Access Tabelle speichern
 
Hallo,

hat jemand eine erprobte Lösung für mein Anliegen, ein Array aus einer Maske in eine Access Tabelle abzulegen ?

Hier die Definition der Maske :

object paClient: TPanel
Left = 0
Top = 32
Width = 507
Height = 406
Align = alClient
TabOrder = 1
object dbgrdMAMonat: TDBGrid
Left = 1
Top = 1
Width = 505
Height = 404
Align = alClient
DataSource = dsMAMonat
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Arial'
Font.Style = []
Options = [dgEditing, dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
ParentFont = False
TabOrder = 0
TitleFont.Charset = ANSI_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -13
TitleFont.Name = 'Arial'
TitleFont.Style = []
OnColExit = dbgrdMAMonatColExit
Columns = <
item
Expanded = False
FieldName = 'MandantNr'
Visible = False
end
item
Expanded = False
FieldName = 'PersonalNr'
Visible = False
end
item
Color = clBtnFace
Expanded = False
FieldName = 'Monat'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
ReadOnly = True
Title.Alignment = taCenter
Width = 100
Visible = True
end
item
Color = 15786144
Expanded = False
FieldName = 'GrundlohnS1'
Title.Alignment = taCenter
Title.Caption = 'Grundlohn S1'
Width = 90
Visible = True
end
item
Color = 15786144
Expanded = False
FieldName = 'GrundlohnS2'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
Title.Alignment = taCenter
Title.Caption = 'Grundlohn S2'
Width = 90
Visible = True
end
item
Color = 10547440
Expanded = False
FieldName = 'Sollzeit'
Title.Alignment = taCenter
Width = 100
Visible = True
end
item
Color = 11595968
Expanded = False
FieldName = 'ZuschlagAkto'
Title.Alignment = taCenter
Title.Caption = 'Zuschläge Akto'
Width = 100
Visible = True
end>
end
end



Ciao

Alf

:bounce1:

MrSpock 21. Jan 2003 06:49

Hallo gfaw,

die dfm Datei die du gepostest hast zeigt u.a. ein Datenbankgrid an, das die Datenmenge anzeigt, die über die DataSource MaMonat verbunden ist. Wenn du über das Abspeichern eines Array sprichst, meinst du dann diese Datenmenge oder den aktuelle Datensatz dieser Datenmenge oder was genau?

Was ist MaMonat? Ist das eine durch eine Query erzeugte Datenmenge oder eine Tabelle, und aus welcher Datenbank (Paradox, Access) stammt diese Datenmenge?

gfaw 21. Jan 2003 07:15

Guten Morgen, Mr. Spock,

ich möchte das gesamte angezeigte Feld mit allen Spalten und Reihen in einer DB speichern. Dies in unterschiedlichen Feldern, damit man sie auch wiederfindet.

Sollte ich hierzu eine weitere Tabelle einrichten ?

Ciao

Alf

MrSpock 21. Jan 2003 09:16

Hallo gfaw,

leider ist mir immer noch nicht klar, was du machen willst. Du redest von "Feld". Ein Feld in der Datenbankwelt beschreibt in der Regel eine "Spalte" in einer Datenbanktabelle. Du schreibst jetzt das gesamte Feld mit allen Spalten und Reihen. Wenn du mit Feld das DBGrid meinst und dort alle Reihen und Spalten ansprechen willst, so hast du die gesamte Datenmenge (Tabelle oder Ergebnis einer Query).

Beschreibe bitte noch einmal:

1. Was willst du kopieren (und warum)?
2. Was ist MaMonat? Ist das eine durch eine Query erzeugte Datenmenge oder eine Tabelle, und aus welcher Datenbank (Paradox, Access) stammt diese Datenmenge?

gfaw 21. Jan 2003 09:47

Hallo, Dr. Spock,

nochmal zum Mitschreiben:

in meinem Display kommen für jeden Monat einige Spalten, die genauso wiedergefunden werden sollen, also Personalnummer, Grundlohn 1 und 2, Sollzeit und Akto - Zuschläge.

Wenn man nun mit Personalnummer und Monat sucht, sollten die anderen Werte zur Verfügung stehen.

Alles klar ?

Ciao

Alf

MrSpock 21. Jan 2003 10:34

Hallo gfaw,

ich will dich wirklich nicht ärgern, aber ich kappier das nicht :nerd: . Ich habe sogar mitgeschrieben :mrgreen: , aber mit jeder Antwort tauchen neue Fragen auf. Einen Versuch wage ich noch.

Zitat:

in meinem Display kommen für jeden Monat einige Spalten,
wo kommen diese Daten her (siehe Frage 2 oben)? Ohne eine Antwort auf diese Frage kann ich wirklich nicht helfen.

Zitat:

die genauso wiedergefunden werden sollen,
Wiederfinden ist aber was anderes als in eine Datenbank kopieren. Daten in einer bestehenden Datenmenge zu finden ist ein ganz anderer Themenkomplex. Daher meine Frage 1 von oben.

Zitat:

Wenn man nun mit Personalnummer und Monat sucht, sollten die anderen Werte zur Verfügung stehen.
Das ist einfach, sofern du Frage 1 beantwortet hast.

Zitat:

Alles klar ?
:roll: Not really :!:

gfaw 21. Jan 2003 17:37

Hi, Dottore Spock,

ist mein Mail mit dem Screen angekommen ? Ist nun alles klar ?

Ciao

Alf

MrSpock 21. Jan 2003 19:59

Hallo gfaw,

:cry: ich kappiers nicht, sorry.

Die DFM Datei ist angekommen. Sie ist ohne die dazugehörige PAS natürlich nicht direkt als Form anzeigbar. Trotzdem habe ich sie mal analysiert. Diese DFM stimmt aber nicht mit deiner oben gezeigten überein...

Ich gebe aber noch nicht auf :shock: .

Also lass mich noch einmal versuchen dein Problem mit meinen Worten darzustellen: Du siehst ein Formular auf dem Bildschirm. Dort sind Daten in einem Grid dargestellt. (Stimmt das soweit?)

Diese Daten stammen entweder aus einer Abfrage an eine Datenbank (Query) oder ist die Anzeige einer Tabelle einer Datenbank :!:

Es geht zunächst darum festzustellen, ob es sich bei den angezeigten Daten um eine Ergebnismenge einer Abfrage oder um eine Tabelle handelt.

So die Daten sind also sichtbar und liegen in einer Datenbank! Was willst du jetzt tun? Versuche es mir mal so zu erklären, als ob ich 8 Jahre alt wäre :mrgreen: oder ist das hier "Verstecke Kamera" und ihr wollt mich nur prüfen :?:

MrSpock 23. Jan 2003 20:03

Hallo gfaw,

ich habe jetzt mal den Code analysiert. Etwas geizig bist du schon :mrgreen: . Die beiden Dateien allein, die ja nur den MDIChild Anteil zeigen sind schon schwer in einen Zusammenhang zu bringen. Aber Geiz ist ge.. :shock:

Deine Frage hätte man ohne den Code weder verstehen, noch beantworten können. Dein Programm erstellt mehrere Stringgrids. In die so entstehenden Felder kann man manuel Werte eintragen. Diese willst du jetzt komplett speichern.

Dazu musst du tatsächlich zunächst eine Tabelle anlegen, die die Felder enthält, die du speichern willst, also: Mitarbeiternummer (ich nehme an, dass diese im Hauptformular festgelegt wird und dann wahrscheinlich für den ausgewählten MA das MDIChild erzeugt wird), dann würde ich das Datum speichern und nicht wie angezeigt Kalenderwoche und Tag, schließlich von1, bis1, von2, bis2 und Ges. Nach anklicken des Save Buttons, läufst du durch die Stringgrids und speicherst die Werte. Dabei legst du pro Tag einen Eintrag an.

gfaw 23. Jan 2003 21:45

Hallo, MrSpock,

super ! Schlau erkannt und schon gelöst ! Wie kann ich nun dann einen bestimmten Eintrag finden , sagen wir mal den 3. eines Mitarbeiters (also März) ????

Ciao

Alf


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz