Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Optiplex am November 11, 2010, 15:19:45

Titel: Größe eines Textfeldes aus einer Tabelle auslesen A2003
Beitrag von: Optiplex am November 11, 2010, 15:19:45
Hallo zusammen,
ist es möglich die Größe eines Datenfeldes (Text) einer Tabelle auszulesen.

Danke und Gruß Dieter
Titel: Re: Größe eines Textfeldes aus einer Tabelle auslesen A2003
Beitrag von: DF6GL am November 11, 2010, 16:24:59
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
Titel: Re: Größe eines Textfeldes aus einer Tabelle auslesen A2003
Beitrag von: Shai am November 11, 2010, 17:27:57
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


Titel: Re: Größe eines Textfeldes aus einer Tabelle auslesen A2003
Beitrag von: Optiplex am November 12, 2010, 09:06:31
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

Titel: Re: Größe eines Textfeldes aus einer Tabelle auslesen A2003
Beitrag von: MzKlMu am November 12, 2010, 09:14:13
Hallo,
darf ich mal fragen, zu was man so etwas braucht?
Titel: Re: Größe eines Textfeldes aus einer Tabelle auslesen A2003
Beitrag von: Optiplex am November 12, 2010, 09:47:41
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
Titel: Re: Größe eines Textfeldes aus einer Tabelle auslesen A2003
Beitrag von: MzKlMu am November 12, 2010, 10:06:11
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.
Titel: Re: Größe eines Textfeldes aus einer Tabelle auslesen A2003
Beitrag von: Optiplex am November 12, 2010, 12:34:42
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