Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Datenbanken

GELÖST

Feldgröße Abfrage Access

Mitglied: AMStyles

AMStyles (Level 1) - Jetzt verbinden

23.04.2012 um 11:50 Uhr, 7524 Aufrufe, 6 Kommentare

Guten Tag,

ich möchte via SQL eine Abfrage erstellen, die mir die Feld Länge einer Spalte zurückgibt.
Auf einem SQL Server funktioniert das so

01.
SELECT CHARACTER_MAXIMUM_LENGTH FROM information_schema.columns where TABLE_NAME = 'TabellenName' AND COLUMN_NAME ='SpaltenName'
Wie kann ich dasselbe Ergebnis bei einer Access Datei erziehen?

Grüße,
AMStyles
Mitglied: mak-xxl
24.04.2012 um 08:18 Uhr
Moin AMStyles,

ich postuliere mal, dass Du den Zugriff per internem Access-VBA meinst, wenn, dann innerhalb eines Recordsets mit:

... 
retVal = Len(strField) 
...
In Zeiten von UTF8/16 ist es aber besser, die Bytegröße eines Feldes abzufragen:

... 
Set db = DBEngine(0)(0) 
Set td = db.TableDefs(strTable) 
Set fd = td.Fields(strField) 
retVal = fd.FieldSize [.Size] 
...
Falls es von außerhalb auf eine Access-DB sein soll (i.e. per VB):

... 
Set DB = DBEngine.OpenDataBase(strDBName), False, False) 
retVal = DB.TableDefs(strTable).Fields(strField).Size 
...
Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: AMStyles
24.04.2012 um 08:55 Uhr
Hallo mak-xxl ,

vielen Dank für deine Antwort.
Ich habe leider nur über SQL Zugriff auf diese Datei, so interne Sachen wie VBA o. ä. sind leider nicht möglich.

Grüße,
AMStyles
Bitte warten ..
Mitglied: mak-xxl
24.04.2012 um 09:12 Uhr
Moin AMStyles,

Zitat von AMStyles:
... Ich habe leider nur über SQL Zugriff auf diese Datei ...

Und Code dazu hast Du doch bereits notiert ...

Da ich aber oben schon raten musste - was möchtest Du eigentlich wissen?

Wie man extern auf eine Access-DB zugreift (ohne SQL, aber mit VB), ist oben skizziert - und gibt die Länge eines Feldes zurück. Das Ganze geht auch aus Office-VBA heraus etc. pp. Und nur(?) SQL - irgendwas anderes geht immer ...

PS: Falls noch ein anderes SQL-Statement als Anregung dienen soll:
SELECT Max(Len(strFieldName)) FROM strTableName
Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: Biber
24.04.2012 um 09:29 Uhr
Moin AMStyles,

ergänzend zu mak-xxls SELECT-Ansatz noch der Hinweis auf die (evtl abweichende) Byte-Länge
01.
SELECT Max(Len([deinFeldName)) AS Maxlen, Max(LenB([deinFeldName])) as MaxLenB 
02.
FROM [deineTabelle];
Wobei ich nicht abschätzen kann, ob du die "Feldlänge" eher zum Grid-auf-den-Schirm-malen brauchst oder für eine Import/Exportschnittstelle.

Zum Malen reicht natürlich der Stringlängenwert der Len()-Funktion.

Grüße
Biber
Bitte warten ..
Mitglied: AMStyles
24.04.2012 um 11:29 Uhr
Hi Bibel,

man kann unter Access beispielsweise bei einem Text die Feldgröße angeben.
Diese möchte ich via SQL Skript auslesen.

Also ich möchte NICHT wissen dass der Inhalt des Datenfelds eine Textlänge von x Zeichen hat, sondern die allgemeine Feldgröße der Spalte.

Grüße,
AMStyles
Bitte warten ..
Mitglied: Biber
25.04.2012 um 10:32 Uhr
Moin AMStyles,

deinen Wunsch haben mak-xxl und ich schon verstanden.
Wir wollten es dir nur schonend beibringen.

Also, mal ganz ungeschminkt:

MS-Access hat und hatte in keiner Version Metadaten/Katologdaten, die
a) als Bonus-Giveaway für den zahlenden Kunden mit ausgeliefert wurden
b) via SQL abgefragt werden können. Wozu auch? SQL verwenden eigentlich nur Datenbanken...
c) und dokumentiert sind die MSysObject-Tabellen von den PraktikantInnen selbst schon gar nicht.

Speziell eine Tabelle, die vom Sinn her einer information_schema.columns oder einer sys.user_tab_columns oder einer syscat.syscolumns-Tabelle bei richtigen Datenbanken entspricht, gibt es bei MSAccess nicht.

Daher: keine Abfrage der Feldlänge eines String-Feldes per Jet-SQL oder ACE möglich.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Access Abfrage Sotieren
Frage von charmeurMicrosoft Office2 Kommentare

Hallo Ihr da ich blutiger nichts wisser in Access bin wende ich mich an euch ich möchte so eine ...

Microsoft Office
ACCESS - Problem - Bericht - Abfrage
Frage von caschoplMicrosoft Office6 Kommentare

Hallo, ich möchte eine kleine Datenbank für unsere Handy und Mobilverträge erstellen, damit wir diese einfach besser Verwalten können. ...

Batch & Shell
Powershell Access Abfrage auslesen?
gelöst Frage von Druide83Batch & Shell2 Kommentare

Hallo, langsam bin ich am verzweifeln. Ich versuche Werte aus einer Access-Abfrage auszulesen. Selbe Methode funktioniert einwandfrei wenn ich ...

Datenbanken
Access 2010 komplizierte Abfrage
gelöst Frage von Dr.CornwallisDatenbanken3 Kommentare

Hallo zusammen, ich bräuchte eine Query die folgendes macht(sofern das überhaupt möglich ist): Der benötigte Table hat folgende Felder: ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...