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“
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
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
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
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
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
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.
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