AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mit DBGrid zu Datensatz springen und öffnen
Thema durchsuchen
Ansicht
Themen-Optionen

Mit DBGrid zu Datensatz springen und öffnen

Ein Thema von commandcraxx · begonnen am 18. Mär 2010 · letzter Beitrag vom 19. Mär 2010
Antwort Antwort
commandcraxx

Registriert seit: 18. Mär 2010
4 Beiträge
 
#1

Mit DBGrid zu Datensatz springen und öffnen

  Alt 18. Mär 2010, 13:49
Datenbank: Paradox • Version: 7 • Zugriff über: per Datei auf Platte
Hi Leute,

also entweder ich bin zu doof oder Google hat heute mal wieder nichts passendes für mich ^^

Mein Problem:

Ich hab eine Tabelle geöffnet in einem DBGrid. Beim Grid ist RowSelect auf True und MultiSelect false. Wenn man auf die Row Klickt soll in einem neuen Formular der Datensatz geöffnet werden. Soweit so gut. Das Formular öffnet sich aber ich komm immer wieder am Anfang der Tabelle raus oder an dem Datensatz an dem gerade der Navigator stehen geblieben ist.

Meine Frage:

Wie bekomm ich es hin, dass ich per Klick direkt auf den Datensatz springen kann, so dass die verknüpften DBText's und DBEdit's etc. die richtigen Daten im neuen Formular anzeigen?

Danke im vorraus

Infos:
DB: Paradox 7
Delphi 7


Mit freundlichen Gruß

CommandCraxX
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Mit DBGrid zu Datensatz springen und öffnen

  Alt 18. Mär 2010, 14:18
Wenn in dem Detailformular die gleiche Datasource für die DBEdits usw. genutzt wird wie für das DBGrid, sollte Dir dort automatisch der korrekte Datensatz zum ändern angeboten werden. Eigentlich braucht man nur auf Doppelklick reagieren und das Detailformular anzeigen.

Paradox ist bei mir zwar schon sehr lange her, sollte sich imho aber genauso verhalten wie mit einer SQL-Datenbank als Datenquelle.

Als Tipp, einfach mal das Detailfenster parallel zum Gridfenster mit anzeigen lassen. Also erstmal ohne auf den Klick zu reagieren, sondern beide nebeneinander anzeigen.
Carsten
  Mit Zitat antworten Zitat
commandcraxx

Registriert seit: 18. Mär 2010
4 Beiträge
 
#3

Re: Mit DBGrid zu Datensatz springen und öffnen

  Alt 18. Mär 2010, 14:39
Hab deinen Rat befolgt und hab das Fenster Sichtbar gemacht, er switched in den Datensätzen hin und her. Aber wenn ich über mein "Öffnen" Button (den Klick) das Fenster öffne steh ich wieder am ersten Datensatz. Warum?

Das macht der Doppelklick:

Code:
Form4.DBText1.DataField          := 'Menge';
Form4.DBText2.DataField          := 'Mindestbestand';
Form4.DBText3.DataField          := 'ID';
...
Form4.Show;

Edit

Hab mal die DataField Zuweisung direkt nach dem öffnen des Tables für das Datail Formular gemacht. und hab die Zuweisung beim Klick weggelassen. Aber ohne erfolgt.

Jetzt kommt das Komische, solange ich das Fenster wärend der Zuweisung im "Show" also sichtbar hab, gehts sobald ichs zu mach funktioniert es nicht mehr


MfG
  Mit Zitat antworten Zitat
pmoegenb

Registriert seit: 24. Aug 2006
Ort: Aidlingen
155 Beiträge
 
Delphi XE6 Professional
 
#4

Re: Mit DBGrid zu Datensatz springen und öffnen

  Alt 18. Mär 2010, 16:32
<<Wenn in dem Detailformular die gleiche Datasource für die DBEdits usw. genutzt wird wie für das DBGrid

Hast Du das ebenfalls befolgt ? Es sieht nämlich so aus, als ob Du mit 2 unterschiedlichen Datasources arbeitest.
Peter Mögenburg
Gruß

Peter
  Mit Zitat antworten Zitat
commandcraxx

Registriert seit: 18. Mär 2010
4 Beiträge
 
#5

Re: Mit DBGrid zu Datensatz springen und öffnen

  Alt 18. Mär 2010, 16:40
hab nur eine DataSource ... ich hab mein Artikel oben eben mal aktualisiert bitte mal EDIT lesen ^^



Zitat von commandcraxx:
Hab mal die DataField Zuweisung direkt nach dem öffnen des Tables für das Datail Formular gemacht. und hab die Zuweisung beim Klick weggelassen. Aber ohne erfolgt.

Jetzt kommt das Komische, solange ich das Fenster wärend der Zuweisung im "Show" also sichtbar hab, gehts sobald ichs zu mach funktioniert es nicht mehr
  Mit Zitat antworten Zitat
commandcraxx

Registriert seit: 18. Mär 2010
4 Beiträge
 
#6

Re: Mit DBGrid zu Datensatz springen und öffnen

  Alt 19. Mär 2010, 07:12
Problem gelöst

Hab den Fehler gefunden. ^^

Wenn man Komponenten auf einem anderen Formular mit der DatenSource auf der Mainform verknüpft, ist darauf zu achten, dass die zusätzlichen Formulare nicht mit "Close" beendet. Statt dessen bietet sich hier "Hide" oder das simple "Visible" an. Wenn man das beachtet, sind die Datenbankelemente auch an dem Datensatz, den man vorher im DBGrid ausgewählt hat.

Danke an alle

MfG
CommandCraxX
  Mit Zitat antworten Zitat
pmoegenb

Registriert seit: 24. Aug 2006
Ort: Aidlingen
155 Beiträge
 
Delphi XE6 Professional
 
#7

Re: Mit DBGrid zu Datensatz springen und öffnen

  Alt 19. Mär 2010, 09:06
Trifft meines Erachtens nur zu, wenn mit dem Form.Close auch die Tabelle (Ereignis: OnClose) geschlossen wird.
Peter Mögenburg
Gruß

Peter
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Mit DBGrid zu Datensatz springen und öffnen

  Alt 19. Mär 2010, 09:52
Zitat von commandcraxx:
Problem gelöst
dass die zusätzlichen Formulare nicht mit "Close" beendet
CommandCraxX
Könnte es sein, dass Du aus Versehen ggf. nicht das Fenster mit Close beendest, sondern die Datasource zu machst. Oder im Close des Formulars ggf. eine entsprechende Anweisung hast, welche die Datenquelle schliesst. Weil eigentlich kann man Formulare auch schliessen, ohne dass sich an dem Datensatzzeiger etwas ändert.
Carsten
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr.
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