Re: Gültigkeitsregeln im DataGrid erkennen?

Tech-Archive recommends: Fix windows errors by optimizing your registry

From: Peter Götz (gssg_nospam_at_t-online.de)
Date: 10/12/04


Date: Tue, 12 Oct 2004 09:08:39 +0200

Hallo Andreas,

> ...die "Microsoft ADO Ext. 2.6 for DDL and Security" (msadox.dll)
> eingebunden, aber da gibt es keine Property "ValidationRule".
> Ist meine installierte ADO-Version zu alt? Aktuell ist glaub ich 2.8,
oder?

So findest Du die "Validation Rules" zu einer bestimmten Spalte in einer
Tabelle:

Public Function GetVRule(Cnn As ADODB.Connection, TableName As String,
ColName As String) As String
    Dim Cat As adox.Catalog
    Dim TBL As adox.Table
    Dim Col As adox.Column

    Set Cat = New adox.Catalog
    Set Cat.ActiveConnection = Cnn
    For Each TBL In Cat.Tables
        If TBL.Name = TableName Then
            For Each Col In TBL.Columns
                If Col.Name = ColName Then
                    GetVRule = Col.Properties("Jet OLEDB:Column Validation
Rule").Value
                    Exit For
                End If
            Next
        End If
    Next
End Function

CNN ist das geöffnete ADODB.Connectionobjekt, welches die Verbindung zu
Deiner *.mdb hält.
TableName ist der Name der Tabelle in Deiner *.mdb.
ColName ist der Name des zu untersuchenden Feldes in der Tabelle.

Am besten stellst Du mal die beiden Variablen TBL und Col ins
Überwachungsfenster und setzt bei der Zeile "Exit For" einen Programmstop.
Nach Aufruf der Funktion GetVRule() läuft Dein Programm dann bis zu diesem
Stop und Du kannst Dir im Überwachungsfenster die gesamte Hierarchie der
beiden Objekte ADOX.Table (TBL) und ADOX.Column (Col) ansehen. Du findest
dabei noch eine ganze Menge anderer Informationen, welche neben den
Validation Rules auch recht interessant sind.

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



Relevant Pages

  • Sum in a dynamic query
    ... Private Sub Form_Open ... Dim db As Database, Tbl As TableDef ... Dim db As Database, qd As QueryDef, ctl As Control, s As String, Item As ...
    (comp.databases.ms-access)
  • Error 3251 using ADO & VBA to drop a table!
    ... Public Function LinkDataBase(newOrigin As String, ... Dim newCat As New ADOX.Catalog ... Dim tbl As ADOX.table ... tblLink As ADOX.table ...
    (microsoft.public.data.ado)
  • Error 3251 using ADO & VBA to drop a table!
    ... Public Function LinkDataBase(newOrigin As String, ... Dim newCat As New ADOX.Catalog ... Dim tbl As ADOX.table ... tblLink As ADOX.table ...
    (microsoft.public.access.modulesdaovba)
  • Re: cnn.execute problem with dates
    ... > based upon the src tbl info into a temporary tbl. ... Dim strSQL ... Dim strDelSQL As String ...
    (microsoft.public.access.formscoding)
  • Search pattern
    ... Dim strfile As String ... Dim bAddressFound As Boolean ... Dim strCurrentChar As String ...
    (comp.databases.ms-access)