Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Größe eines Textfeldes aus einer Tabelle auslesen A2003

Begonnen von Optiplex, November 11, 2010, 15:19:45

⏪ vorheriges - nächstes ⏩

Optiplex

Hallo zusammen,
ist es möglich die Größe eines Datenfeldes (Text) einer Tabelle auszulesen.

Danke und Gruß Dieter

DF6GL

Hallo,




Dim rs As New ADODB.Recordset
rs.Open "select Textfeld1 from tblTabelle1", CurrentProject.Connection, adOpenStatic, adLockReadOnly
MsgBox rs.Fields("Textfeld1").DefinedSize
rs.close:set rs=Nothing

Shai

#2
Oder so:
Private Function Feldlaenge(strTabelle As String, strFeld As String) As Integer
   Dim tDef As TableDef
   Dim Dbs As DAO.Database
   Dim Rs As DAO.Recordset
   Dim tFld As Field
   Dim intSize As Integer
   
   Set Dbs = CurrentDb
   Set tDef = Dbs.TableDefs(strTabelle)
   Set tFld = tDef.Fields(strFeld)
   intSize = tFld.Size
   Feldlaenge = intSize
   
    set tFld = Nothing
    set tDef = Nothing
    set Dbs = Nothing
End Function


zu viele Leute denken in Excel.

Optiplex

Hallo Shai, Hallo DF6GL(ist das deine Amateurfunklizenz?)
Mensch ihr beiden seit Klasse,
beide Codes funktionieren einwandfrei. Danke für diese Präziesen Beispiele, habt mir damit wieder einmal weitergeholfen.

Gruß Dieter


MzKlMu

Hallo,
darf ich mal fragen, zu was man so etwas braucht?
Gruß Klaus

Optiplex

Hallo MzKlMu hier nur ein Beispiel,
Wenn du ein ungebundenes Textfeld hast, das zu über eine Funktion abspeichern möchtest, sollte man überprüfen ob die Eingabe in die Feldgröße der Tabelle passt damit die Routine nicht durch einen Fehler aussteigt.

Gruß Dieter

MzKlMu

Hallo,
dieses Problem kannst Du umgehen, in dem Du alle Textfelder auf eine Feldgröße von 255 stellst, dann musst Du gar nichts prüfen.
Access verwaltet den Speicherplatz dynamisch. Es wird nur so viel Speicher verbraucht als Zeichen eingetragen sind. Die Feldgröße spielt keine Rolle.
Gruß Klaus

Optiplex

hallo MzKlMu,
Mit der Dynamischen Speicherverwaltung hast du natürlich recht. Aber ich finde, dass man die Größe eines Feldes auf die richtige Anzahl von Zeichen reduzieren soll, und es gibt bestimmt auch Gründe dafür, sonst hätte man auch die Angabe bei der Tabellenerstellung weglassen können.

Gruß Dieter