Schleifen und Tabellen erstellung. rauche Hilfe

Moin,
Ich komme mal ohne umschweife zum Punkt. Ich brauche Hilfe bei Access. Es geht genau darum eine Tabelle zu erstellen und diese mit 1-10 Zeilen zu füllen das mit den Zeilen soll aber wählbar sein. Wie ich eine Tabelle mit Zeilen erstelle das weiss ich bereitz. könnte mir jemand eine Seite verlinken oder mir den Code zumindest erläutern den ich schreiben muss um zu meinem Ziel zu kommen. Vielen dank.

[code]Private Sub Umschaltfläche1_Click()
Dim test As String

test = „Create Table tbl_test (Feldname1 Integer, Feldname2 Text)“
DoCmd.RunSQL test

End Sub[/code]

Also wenn ich den Test Button drücke erstellt er eine Tabelee tbl_test mit den Beiden Zeilen „Feldname1“ und „Feldname2“

Hallo,

eigentlich müßte man nachfragen, was das Ganze überhaupt soll…

Tabelle „füllen“:

Sub btnInserttbl_Click()
Dim Db as Database,i as long
Set DB= Currentdb
For i=nz(Me!Start) to nz(Me!Ende,0) ‚Beides Form-Textfelder mit entspr. Eingaben
DB.Execute „Insert into tbl_Test (Feldname1,Feldname2) Values (“ & i & ",‘" & "Das ist der Text zu Feldname1-Wert " & i & „’)“
Next
Set DB=Nothing
End Sub

(unchecked)

Gruß
Franz,DF6GL

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Es ist eine Reine Spielerei um Sccess besser kennen zu lernen es hat keine besonderen Grund es sollen lediglich Leere 'Zeilen entstehen

Hallo,

eigentlich müßte man nachfragen, was das Ganze überhaupt
soll…

Tabelle „füllen“:

Sub btnInserttbl_Click()
Dim Db as Database,i as long
Set DB= Currentdb
For i=nz(Me!Start) to nz(Me!Ende,0) ‚Beides Form-Textfelder
mit entspr. Eingaben
DB.Execute „Insert into tbl_Test (Feldname1,Feldname2) Values
(“ & i & ",‘" & "Das ist der Text zu Feldname1-Wert " & i &
„’)“
Next
Set DB=Nothing
End Sub

(unchecked)

Gruß
Franz,DF6GL

Es ist eine Reine Spielerei um Sccess besser kennen zu lernen
es hat keine besonderen Grund es sollen lediglich Leere
'Zeilen entstehen

Leere(!) Zeilen bekommst Du nicht hin…

Und: geht der Code überhaupt?

evtl: so schreiben:

For i=nz(Me!Start,0) to nz(Me!Ende,0)

Gruß
Franz

Hallo,

eigentlich müßte man nachfragen, was das Ganze überhaupt
soll…

Tabelle „füllen“:

Sub btnInserttbl_Click()
Dim Db as Database,i as long
Set DB= Currentdb
For i=nz(Me!Start) to nz(Me!Ende,0) ‚Beides Form-Textfelder
mit entspr. Eingaben
DB.Execute „Insert into tbl_Test (Feldname1,Feldname2) Values
(“ & i & ",‘" & "Das ist der Text zu Feldname1-Wert " & i &
„’)“
Next
Set DB=Nothing
End Sub

(unchecked)

Gruß
Franz,DF6GL

Es soll ja keine leeren Zeilen haben Sondern eher leere Spalten also keinen Daatensatz jedoch schon beschriftungen für die Spalten.

ich habe nun mal einen code bekommen der mir schon sehr geholfen hat: wie baue ich das nun in ein Formular ein?

Public Sub subCreateTable(TableName As String, FieldPraefix As String, FieldAnzahl As Integer)
'-------------------------------------------------------------------------------------------
’ Prozedur erstellt eine neue Tabelle anhand der übergebenen Parameter

’ Verweis auf die DAO-Bibliothek muss ggf. gesetzt werden!

’ erwartete Parameter:
’ --------------------
’ TableName -> Stringvariable für den Tabellennamen
’ FieldPraefix -> Vorzeichen das für alle Felder identisch ist; Felder werden um einen
’ Zähler anhand der FieldAnzahl ergänzt
’ FieldAnzahl -> Anzahl der Felder
'-------------------------------------------------------------------------------------------
Dim DAODB As DAO.Database
Dim tdfNew As TableDef
Dim intCount As Integer

Set DAODB = CurrentDb
Set tdfNew = DAODB.CreateTableDef(TableName)

intCount = 0
Do Until intCount = FieldAnzahl
tdfNew.Fields.Append tdfNew.CreateField(FieldPraefix & intCount, dbText)
intCount = intCount + 1
Loop

DAODB.TableDefs.Append tdfNew

DAODB.Close

'Aufräumen
Set DAODB = Nothing
Set tdfNew = Nothing

End Sub

HAllo,

ich habe nun mal einen code bekommen der mir schon sehr
geholfen hat: wie baue ich das nun in ein Formular ein?

jetzt versteh ich nicht (mehr), was Du eigentlich machen willst…

Willst Du eine Tabelle erstellen mit einer besteimmten Anzahl von Feldern (Spalten) oder willst Du eine vorhandene Tabelle mit Datensätzen füllen?

Deine anfangs gepostete SQL und der u. St. Code erzeugen eine Tabelle(nstruktur) mit ein paar bestimmten Feldern. Dann sind aber noch keine Datensätze in dieser Tabelle.

DS einfügen (aber keine „leeren“) kannst Du mit dem Code, den ich vorher gepostet habe.

Gruß
Franz

Public Sub subCreateTable(TableName As String, FieldPraefix As
String, FieldAnzahl As Integer)
'-------------------------------------------------------------------------------------------
’ Prozedur erstellt eine neue Tabelle anhand der übergebenen
Parameter

’ Verweis auf die DAO-Bibliothek muss ggf. gesetzt werden!

’ erwartete Parameter:
’ --------------------
’ TableName -> Stringvariable für den Tabellennamen
’ FieldPraefix -> Vorzeichen das für alle Felder identisch
ist; Felder werden um einen
’ Zähler anhand der FieldAnzahl ergänzt
’ FieldAnzahl -> Anzahl der Felder
'-------------------------------------------------------------------------------------------
Dim DAODB As DAO.Database
Dim tdfNew As TableDef
Dim intCount As Integer

Set DAODB = CurrentDb
Set tdfNew = DAODB.CreateTableDef(TableName)

intCount = 0
Do Until intCount = FieldAnzahl
tdfNew.Fields.Append tdfNew.CreateField(FieldPraefix &
intCount, dbText)
intCount = intCount + 1
Loop

DAODB.TableDefs.Append tdfNew

DAODB.Close

'Aufräumen
Set DAODB = Nothing
Set tdfNew = Nothing

End Sub

Ja es stimmt ich möchte eine komplett Leere Tabelle mit leeren Spalten per Abfrage erstellen also ich habe eine Maske wo ich einen Button habe und ein eingabefeld in das feld gebe ich eine zahl zwischen 1-10 ein und der code erstellt nun eine Tabelle mit verschiedenen Spalten die aber leer sind. Dies ist gewollt ich möchte ein einfach ausprobieren

Moin, Morrigan,

Ja es stimmt ich möchte eine komplett Leere Tabelle mit leeren
Spalten per Abfrage erstellen

das ist im Sinne der Relationalen Algebra schlicht ein Kunstfehler, um nicht zu sagen ein Verbrechen. Ein Tabelle enthält Zeilen, die sich voneinander unterscheiden. Punkt.

Gruß Ralf

Hallo,

Per „Abfage“ ?? Der Code erstellt nicht(!) per Abfrage…

Sub btnErstelleTabelle_Click()
Call subCreateTable („tblDeineTabelle“,„Feld“, nz(Me!Spaltenanzahl,1))
End Sub

Gruß
Farnz

PS: Was sollen Crospostings??

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich konnte das Problem mit einen Büchern und etwas Hilfe nun lösen Natürlich sollten die Splaten bezeichnungen haben jedoch keien inhalt „noch nicht“ ich habe nun einfach meinen code an ein Formular genöpft welcher eine Schleife enthält und sooft durchlaufen bis man die Eingabe erreicht bei jeder schleife wird eine Spalte erstellt und die anzhl der durchlaufenen schleifen wird an den Standart namen angehägt. vielen dank jedoch für die Hilfe:

Public Sub subCreateTable(TableName As String, FieldPraefix As String, FieldAnzahl As Integer)

Dim DAODB As DAO.Database
Dim tdfNew As TableDef
Dim intCount As Integer

Set DAODB = CurrentDb
Set tdfNew = DAODB.CreateTableDef(TableName)

intCount = 0
Do Until intCount = FieldAnzahl
tdfNew.Fields.Append tdfNew.CreateField(FieldPraefix & intCount, dbText)
intCount = intCount + 1
Loop

DAODB.TableDefs.Append tdfNew

DAODB.Close

Set DAODB = Nothing
Set tdfNew = Nothing

End Sub