Ach Du heilige Marie!
Meine Befürchtung ist beim Sichten des Quellcodes noch um den Faktor 1000 übertroffen worden.
1. Du solltest den einzelnen Forms und allen Komponenten aussagekräftige Namen vergeben und nicht Form1, Form2, Button1, Label5 usw..
2. Lagere die Zugriffskomponenten wie die Connection, Query, Datasource und Transaction in ein Datenmodul aus.
3. Bitte, Bitte, versuche die Datenbank-Technik zu verstehen.
Dein Ansprechpartner um an Daten zu kommen ist nicht das Grid, sondern die Query, also nicht so wie in Deinem Quellcode:
Code: Alles auswählen
Form3.evorname.Text:=DBGrid1.Columns.Items[3].Field.AsString;
Wenn Du schon Felder direkt ansprechen möchtest, dann nicht über den Index, sondern über den Feldnamen, denn der Feld-Index kann sich verschieben, wenn Du zum Beipiel in der Tabelle ein neues Feld anlegst.
Wie gesagt, schon gar nicht im Grid, denn die Zellen des Grids lassen sich auch verschieben.
4. Du solltest Deine Datenbankstruktur überdenken!
Ist es wirklich sinnvoll ALLES in eine einzige Tabelle zu schreiben, was passiert zum Beispiel, wenn der Patient mehr Medikamente benötigt als Felder vorgesehen sind?
Nun zur Lösung:
Alles auf Anfang und wir nehmen Stift und Papier zur Hand.
1. Welche Daten müssen in die Datenbank?
2. Wie sollte die optimale Datenbankstruktur aussehen.
3. Welche Eingabe- und/oder Ausgabefenster sind notwendig.
4. Wie sollen die einzelen Daten dargestellt werden, also mit welchen Komponenten.
und und und...
.