DBGrid-übernahme zu TEdit



  • ja den Befehl kenn ich ganz gut,
    allerdings wenn ich das so mache, dann kann ich das Projekt nicht mehr starten dann kommt sofort eine Fehlermeldung.
    Was muss ich beim DBGrid machen muss ich da was einstellen ?



  • siehst du denn schon die daten im grid?

    womit arbeitest du, mit der bde?

    also, du hast ne table und ne datasource, der die table zugewiesen wird. beim grid wählst du dann diese datasource aus und fertig. ach so, die tabelle musste vorher geöffnet haben!

    hmm, bei mir klappt alles!



  • also
    - ich sehe die Daten im Grid
    - hab in Optionen alles so gestellt, dass nur die ganze Zeit markiert wird
    - ich bin mit SQLClientDataSet1 auf eine Datenbank verbunden (Table)
    - es gibt eine Datasource fürs Grid
    - hab jetzt noch ein SQLTable eingefügt
    - alles ist geöffnet
    - alle Formular included

    Aber beim compilieren stürzt er ab, und das nur, wenn ich von dem Formular (wo ich die Daten anzeigen will) die Daten vom SQLTable des Formulars (wo das Grid ist) holen will. Also mit
    Edit9->Text = FAuftragsuebersicht->SQLTable1->FieldByName("ORT1")->AsString;



  • BerndKa schrieb:

    dann kommt sofort eine Fehlermeldung

    Welche Fehlermeldung?



  • Im Projekt ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung:
    Zugriffsverletzung bei Adresse 00403966. Lesen von Adresse xy. Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen.


  • Mod

    Hallo

    dein DBGrid hat ein DataSource
    ueber dieses Datasource kannst du auf dire Daten zugreifen

    MfG
    Klaus



  • ich habe jetzt mal folgendes gemacht,
    ich habe in einem neuen Formular (im gleichen Projekt) eine DBGrid und einige EditFelder angelegt.
    Dann habe ich über SQLClientDataSet die Daten auch in die Editfelder gekriegt. (Auch von verschiedenen Zeilen des Grids)
    Das Problem ist bei mir aber: Wie krieg ich das zusammen, wenn das Grid einem anderen Formular ist als die Editfelder. Mit z.B.
    Edit9->Text = FAuftragsuebersicht->SQLClientDataSet1->FieldByName("NAME")->AsString;
    klappt das irgendwie nicht. Da kommt dann wieder die schon genannte Fehlermeldung.



  • Hört sich ganz so an, als ob zum Zeitpunkt deines Aufrufes die Form FAuftragsuebersicht bzw. die DataSet-Komponente noch gar nicht existiert. Führst du das beim Programmstart aus?



  • eigentlich wird wird beim Start von FAuftragsuebersicht (da wo das Grid ist) die SQLClientDataSet und eine Datasource gestartet. Es werden ja auch die Daten angezeigt, dann wähle ich einen Datensatz aus und löse mit DoppelClick aufs Grid die Funktion aus, dass der Formular FAuftragsverwaltung (da wo die Editfelder sind) geöffnet wird.

    Was ich mir jetzt noch gedacht habe ist folgendes: Wenn ich die ID des gewählten Datensatzes vom dBGrid mit in das Formular FAuftragsverwaltung übernehmen könnte und dort den Laden Button benutzen könnte würde es auch gehen. Aber wie das gehen soll weiss ich gleich gar nicht.



  • BerndKa schrieb:

    dann wähle ich einen Datensatz aus und löse mit DoppelClick aufs Grid die Funktion aus, dass der Formular FAuftragsverwaltung (da wo die Editfelder sind) geöffnet wird.

    Und dabei gibt's dann die Fehlermeldung?



  • Bei Deinem Projekt ist irgendetwas schimmelig. Noch mal, wenn Du die Daten siehst, musst Du auch auf sie zugreifen können, kein ID-gebastle. Versuchs doch erst mal so, dass Du das Edit-Feld auf das Grid-Form legst, werden dann die Daten dort angezeigt? Vielleicht hast Du Dein Grid-Form einfach nicht "bekannt" gemacht (Einbindung!?)?

    Tip: ich würde alle Datenobjekte und Methoden in einem Datenmodul kapseln!

    Gruß
    Al



  • also ich habe jetzt nochmal alles probiert und bin zu dem Entschluss gekommen ich mache alle TEdit Felder zu DBEdit Feldern auch wenn ich das nicht wollte, aber egal, dann funktioniert (hoffentlich) der Rest auch noch so wie er soll, das mit dem Übernehmen klappt zumindest

    Danke für eure Hilfe - war wohl wieder mal kein alltägliches Problem(chen).

    Viele Grüsse und noch ein schönes Wochenende
    🕶
    Bernd


Anmelden zum Antworten