vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Datenbank mit Textboxen verbinden 
Autor: unbekannt
Datum: 05.04.03 16:42

Hi Schlafschlumpf,

Vorschlag: Wirf das Buch weg, mach's wie Lordchen

In der Form entweder ein ControlArray mit den Textboxen bilden oder Alternativ: In die Tag-Eigenschaft der Textboxen den Feldnamen vorgeben.

zB.:
Text1.Tag = "ID"
Text2.Tag = "Vorname"
Text3.Tag = "Nachname"
Text4.Tag = "geb"
Text5.Tag = "gest"
Text6.Tag = "Land"
Text7.Tag = "Pfad"

und jetzt fangen wir an:

Private Function CreateCDB(Byval sDBPfadName As String) As Byte
       Dim DB As DataBase
       Dim Tbl As TableDef
       Dim Fld As Field
       Dim ctl As Control
 
       If Dir(sDBPfadName) <> "" Then Kill sDBPfadName
 
       Set DB = DBEngine.CreateDataBase(sDBPfadName,dbLanggeneral,dbEncrypt)
 
       Set Tbl = DB.CreateTableDef("Komponisten") ' Achtung: Nicht Tabelle 
       ' nennen!
       With Tbl
            For Each ctl In Form1.Controls
                   If ctl.Tag <> "" Then
                         Select Case ctl.Tag
                                Case "ID" : .Fields.Append .CreateField( _
                                  ctl.Tag,dbLong)
                                Case "Vorname": .Fields.Append .CreateField( _
                                ctl.Tag,dbText,50)
                                Case "Nachname": .Fields.Append .CreateField( _
                                ctl.Tag,dbText,50)
                                Case "geb": .Fields.Append .CreateField( _
                                ctl.Tag,dbDate) 
                                Case "gest": .Fields.Append .CreateField( _
                                ctl.Tag,dbDate) 
                                Case "Land": .Fields.Append .CreateField( _
                                ctl.Tag,dbText,75)
                                Case "Pfad": .Fields.Append .CreateField( _
                                ctl.Tag,dbText,255)
                         End Select
                   End If
            Next
            .Fields("ID").Attributes = dbAutoIncrField
        End With 
        For Each Fld In Tbl.Fields
              Fld.AllowZeroLenght = True
        Next  
        Db.Tabledefs.Append Tbl
        DB.Close
 
        CreateCDB = 1
Enf Function 
 
Private Sub ReadDS(Rs As Recordset)
        Dim ctl As Control   
 
        On Error Resume Next
        For Each ctl In Form1.Controls
             If ctl.Tag <> "" Then
                   ctl.Text = Rs.Fields(ctl.Text).Value
             End IF
         Next
End Sub
 
Private Sub SaveDS(Rs As Recordset, Optional Byval nAddNew As Byte = 0)
         Dim ctl As Control
 
         If nAddnew = 1 Then
                Rs.AddNew
         Else
                Rs.Edit
         End If
 
          For Each ctl In Form1.Controls
               If ctl.Tag <> "" Then
                      Rs.Fields(ctl.Tag).Value = ctl.Text
               End If
          Next
          Rs.Update
End Sub
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenbank mit Textboxen verbinden392Schlafschlumpf ...05.04.03 15:37
Re: Datenbank mit Textboxen verbinden375unbekannt05.04.03 16:42

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel