Bestehende Gültigkeitsregel mit VB6/ADO ändern?

15/08/2008 - 11:40 von Wilfried Dietrich | Report spam
Hallo,

wie kann ich eine bestehende Gültigkeitsregel für ein Feld
in einer mdb mit VB-Mitteln (ADOX) veràndern?
Wenn ich die mdb mit Access öffne und betrachte mir in der
Entwurfsansicht das betreffende Feld, dann steht da bei
Gültigkeitsregel 'Ist Nicht Null Und Nicht < 0'.
Ich möchte das mit einer VB-App. in ''Ist Nicht Null'
abàndern. Wie?
Ein Code-Beispiel unter Verwendung von ADO/ADOX
wàre super.

MfG.
Wilfried
 

Lesen sie die antworten

#1 Peter Götz
16/08/2008 - 10:52 | Warnen spam
Hallo Wilfried,

wie kann ich eine bestehende Gültigkeitsregel
für ein Feld in einer mdb mit VB-Mitteln (ADOX)
veràndern?



Die Eigenschaft

DAO.Field.ValidationRule

ist beschreibbar, solange das Feld noch nicht an
eine DAO.TableDef.Fields-Auflistung angefügt ist.
Danach ist sie nur noch lesbar, also "read only".
Die Einstellung wàre also nur so zu àndern:

Neues Feld mit geànderter ValidationRule erstellen.
Daten vom alten ins neue Feld umkopieren.
Altes Feld löschen.

Das ADOX.Column-Objekt stellt keine ValidationRule-
Eigenschaft zur verfügung.


Wenn ich die mdb mit Access öffne und betrachte
mir in der Entwurfsansicht das betreffende Feld,
dann steht da bei Gültigkeitsregel 'Ist Nicht Null
Und Nicht < 0'.
Ich möchte das mit einer VB-App. in ''Ist Nicht Null'
abàndern. Wie?
Ein Code-Beispiel unter Verwendung von ADO/ADOX
wàre super.



s.oben: Mit ADO/ADOX so nicht möglich.

Ansonsten wàre lediglich via ADODB.Command mit

Cmd.CommandText = _
"ALTER TABLE TabellenName " & _
"ALTER COLUMN FeldName FeldTyp NOT NULL"

die Einstellung "Nullwerte erlaubt = Nein" möglich.
Dies entspricht aber nicht der Eigenschaft
DAO.Field.ValidationRule.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen