![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Newbie
![]() Registriert seit: 27.03.2013
Beiträge: 1
|
![]() Hallo Leute,
kurz zur Vorgeschichte. Ich programmiere mit VB6 ein verwaltungsprogramm. Es handelt sich hierbar um eine Access-Datenbank. Noch dazu ist es möglich, innerhalb meines Programm, dass der Kunde nicht nur eine neue Datenbank anlegen kann, sondern, er kann die Name der Datenbank, Namen der Tabellen und die Namen der Felder bestimmen. Was "noch" von mir vorgeschrieben wird, ist die festgelegte Anzahl der Tabelle in einer Datenbank und die Anzahl der dazugehörigen Felder. Und die Eigenschaften der Felder werden "noch" von mir vorgeschrieben. Die Namen der Datenbank, Tabellen und Felder werden in einer INI-Datei hinterlegt. Diese Informationen werden bem Start des Programm aus dieser Datei gelesen und dementsprechend handelt mein Verwaltungsprogramm auch. Einträge, Löschungen, Editionen etc funktionieren auch. Nur ein kleines Problem. Jetzt kommen wir auch zum Kern meines Anlieges. All meine Datensätze werden über ein idiziertes Feld gesucht. Umgangsprachlich würden wir sagen "ID". Aber wie ich schon anmerkte, kann der Kunde das Feld benennen wir er oder sie es will. Bleiben wir mal bei dem Namen "ID". In diesem ID-Feld sind keine doppelte Einträge erlaubt. Meine bisherigen Suchfolge sah so aus (es handelt sich hier um einen Auschnitt - also nicht wundern, wenn der Code so 'mager' aussieht): Ach ja, ich arbeite nach wie vor mit DAO (Verweis: Microsoft DAO 3.6 Object Library).Für viele ist es sehr diskussionswürdig etc. Mein Argument ist einfach, dass ich die DAO-Geschichte auf Anhieb verstandne habe, als ich mich an die Datenprogrammierung traute. Aber wir wollen keine Grundsatzdiskussion führen. Nun zum Problem. Code:
Command1_Click() On Error Resume Next Dim mName As String mName = Me.txt_id.Text 'Hier in dieser TexBox ist die beliebige ID dyn.Index = "id" ' der Name des Feldes, welches aber festgelegt ist dyn.Seek "=", mName If dyn.NoMatch Then Else przr_ausgabe 'Wurde ein Datensatz gefunden? Ausgeben. End If End Sub Code:
Command1_Click() On Error Resume Next Dim mName As String Dim sIDField As String sIDField = Text1.Text 'In dieser Textbox steht der Name des aktiven indizierten Feldes mName = Me.txt_id.Text 'Hier in dieser TexBox ist die beliebige ID dyn.Index = sIDField dyn.Seek "=", mName If dyn.NoMatch Then Else przr_ausgabe 'Wurde ein Datensatz gefunden? Ausgeben. End If End Sub Hat jemand von euch eine andere Idee? Geändert von Sophus (27.03.2013 um 17:55 Uhr). |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|