Forums Neueste Beiträge
 

Ja/Nein-Feld als Kontrollkästchen anzeigen

10/01/2011 - 15:59 von Herbert Fidesser | Report spam
Hallo,

per VBA erzeuge ich in einer Backed-DB ein neues Bool-Feld. Klappt mit
dieser Funktion bestens:

Private Function NewField(Daba As String, tbl As String, fldn As
String, typ As Integer, Optional lg As Integer) As Boolean
'DaBa = Datenbankname inkl. Pfad
'tbl = Tabellnname
'fldn = Feldname
'typ = Felddatentyp
'lg =Feldlànge (Auswertung nur bei Textfeldern)

Dim DB As Database
Dim tdf As TableDef
Dim fld As Field
Dim DatChk As Boolean

Set DB = OpenDatabase(Daba)
Set tdf = DB.TableDefs(tbl)

DatCheck = False
For Each fld In tdf.Fields
If fld.Name = fldn Then
MsgBox Daba & ", tbl " & tbl & ", fld " & fldnn & "ist schon
vorhanden!", vbInformation + vbOKOnly, "Hinweise"
NewField = False
DatChk = True
Exit For
End If
Next
If DatChk = False Then
With tdf
If typ = dbText Then
If lg = 0 Then lg = 255
Set fld = .CreateField(fldn, typ, lg)
Else
Set fld = .CreateField(fldn, typ)
End If
.Fields.Append fld
End With
NewField = True
End If

End Function

Mein "Restproblem":
Wenn ich ein Bool-Feld erzeuge, soll es in der Tabelle nicht als
Textfeld, sondern als Checkbox dargestellt werden. Was ist zu tun?

Danke für Hinweise.
Gruß
Herbert
 

Lesen sie die antworten

#1 Wolfgang Badura
10/01/2011 - 17:55 | Warnen spam
Hallo Herbert!
"Herbert Fidesser" wrote in message
news:
'typ = Felddatentyp
'lg =Feldlànge (Auswertung nur bei Textfeldern)

With tdf
If typ = dbText Then
If lg = 0 Then lg = 255
Set fld = .CreateField(fldn, typ, lg)
Else
Set fld = .CreateField(fldn, typ)
End If
.Fields.Append fld
End With

dbText hat den Wert 10, dbBoolean den Wert 1
Set fld = .CreateField(fldn, typ)
Bist du sicher, daß typ den Wert 1 enthàlt?
Bei Else ist alles möglich was ungleich 10 ist.

Wolfgang

Ähnliche fragen