Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB 6 ADO Primärschlüssel

Empfohlene Antworten

Hi Leute,

hab da mal ne fraaaage:

Ich greife über eine ADO Verbindung auf eine Datenbank zu. Wie kann ich nun eine Abfrage machen oder eine Interne Funktion verwenden mit der ich rausfinden kann ob ein bestimmtes Feld in einer Bestimmten Tabelle ein teil des Primärschlüssels ist?

Jedes Feld hat Attribute (eine Collection von > 90 Werten), musst dir die wohl mal durchgucken (Überwachung).

Sollte dabei sein, bin aber nicht 100% sicher, hab auch grad kein VS hier.

die methode OpenSchema des Connection-objekts liefert dir eine vielzahl von infos, darunter auch adSchemaKeyColumnUsage und adSchemaPrimaryKeys - in dieser ergebnisliste sollten die definierten schlüsselspalten zu fidnen sein.

s'Amstel

nope geht net...

weeil ich hier algemeine infos zu der db bekomme und nicht zu einer spezifischen tabelle

Set Rs = Cn.OpenSchema(adSchemaKeyColumnUsage)

For i = 0 To Rs.RecordCount - 1

For j = 0 To Rs.Fields.Count

Me.List2.AddItem Rs.Fields("TABLE_NAME")

Debug.Print Rs.Fields(j)

Rs.MoveNext

Next j

Next i

in Rs.Fields(2).value steht PRIMARY, das ist in meiner zugrundeliegenden tabelle (hier testhalber mysql) eine primärschlüsselspalte.

auf welche datenbank greifst du denn mit ADO zu?

s'Amstel

Auf nen sql server...

könntest du dich ein wenig präzisieren - 7.0, 2000, 2005?

weil ab 2000 gibts die schema views in information_schema das kannte sql server 7.0 noch nicht, darum wird auch adSchemaKeyColumnUsage nichts ausspucken

sooo jetzt hat sich alles geändert, ich soll das nun in access machen :-((( da geht jetzt garnix mehr :-((( son ******

hat jemand ne idee?

die meines wissens einzige möglichkeit, die dir mit access bleibt, ist die TableDef und deren Indexes zu durchforsten.

andere möglichkeiten gibts nicht, weder mit ADO noch mit MSysObjects.


For Each tbl In db.TableDefs 

        sIndex$ = "" 

        For Each idx In tbl.Indexes 

            If idx.Primary Then 

                For Each fld In idx.Fields 

                    sIndex$ = sIndex$ & " & ' & ' & [" & fld.Name & "]" 

                Next fld 

            End If 

        Next idx

Next tbl

HTH,

s'Amstel

hast du in der zwischenzeit eine lösung gefunden?

'n bisschen feedback wär hilfreich.

s'Amstel

Jap hab ich...bin auf dao umgestiegen....

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.