< /p>
Я рассматриваю небольшой проект, и он связан с следующим: < /p>
вместо открытия phpmyadmin и борьбы с щелчком по всем полям, которые я хочу сделать следующие.
A1 = Cellnumber of table name (e. g. "C1")
C1 = Table name
E1 = sql-Output
A4 = field_name,
B4 = datatype
C4 = length
D4 = NULL
E4 = auto_increment
...
< /code>
Большинство полей выпадают, например, Datatype (Integer, Text, Json, ...) < /p>
В следующих строках я объявляю свою базу данных Meta Data. < /p>
A5 = id
B5 = int
C5 = 7
D5 = ...
A6 = name
B6 = text
C6 = ...
< /code>
Я закодировал Makro, который вставляется в ячейку E1, например, < /p>
CREATE TABLE `Test` (
`id` INT(20) NULL AUTO_INCREMENT,
`name` TEXT(100) NOT NULL DEFAULT 'easymathematics'
);
< /code>
выглядит так < /p>
Sub CreateTableSQL
Dim oDoc As Object, oSheet As Object
oDoc = ThisComponent
oSheet = oDoc.Sheets(0)
Dim tableName As String
Dim tableCell as String
Dim startFor as Integer
tableCell = Trim(oSheet.getCellRangeByName("A1").String)
tableName = Trim(oSheet.getCellRangeByName(tableCell).String)
startFor = Trim(oSheet.getCellRangeByName("B2").String)
If tableName = "" Then
MsgBox "Bitte Tabellennamen in C1 eingeben.", 48, "Hinweis"
Exit Sub
End If
Dim sql As String
sql = "CREATE TABLE `" & tableName & "` (" & Chr(10)
Dim i As Integer
For i = (startFor-1) To 100
Dim colName As String, colType As String, colLen As String
Dim colNull As String, autoInc As String, defVal As String
colName = Trim(oSheet.getCellByPosition(0, i).String) ' A
If colName = "" Then Exit For
colType = UCase(Trim(oSheet.getCellByPosition(1, i).String)) ' B
colLen = Trim(oSheet.getCellByPosition(2, i).String) ' C
colNull = UCase(Trim(oSheet.getCellByPosition(3, i).String)) ' D
autoInc = LCase(Trim(oSheet.getCellByPosition(4, i).String)) ' E
defVal = Trim(oSheet.getCellByPosition(5, i).String) ' F
sql = sql & " `" & colName & "` " & colType
If colLen "" Then
sql = sql & "(" & colLen & ")"
End If
If colNull = "NOT NULL" Then
sql = sql & " NOT NULL"
Else
sql = sql & " NULL"
End If
If defVal "" Then
sql = sql & " DEFAULT '" & defVal & "'"
End If
If autoInc = "ja" Then
sql = sql & " AUTO_INCREMENT"
End If
sql = sql & "," & Chr(10)
Next i
sql = Left(sql, Len(sql) - 2) ' letztes Komma entfernen
sql = sql & Chr(10) & ");"
'MsgBox sql, 0, "SQL-Statement"
oSheet.getCellRangeByName("E1").String = sql
End Sub
< /code>
Я создал это с помощью Chatgpt, хорошо? :) < /p>
Так что я надеюсь, что это поможет мне все время создавать таблицы, а не открытые phpmyadmin. : D < /p>
Я хочу сделать вставку, в котором вводит строку данных с id = 0 и содержит метадаты для ячеек.$crud->show_as( hard code )
< /code>
Я планирую получить эти метадаты из нула. < /p>
Может ли кто-нибудь помочь мне с идеями?id=0, {display_as: My Name, show_view = true, ...}, {display_as: next_column, ...}
Мой план состоит в том, чтобы генерировать вставку, которое помещает эти json-стрижки.>
:) < /p> Я рассматриваю небольшой проект, и он связан с следующим: < /p> вместо открытия phpmyadmin и борьбы с щелчком по всем полям, которые я хочу сделать следующие.[code]A1 = Cellnumber of table name (e. g. "C1") C1 = Table name
E1 = sql-Output
A4 = field_name, B4 = datatype C4 = length D4 = NULL E4 = auto_increment ... < /code> Большинство полей выпадают, например, Datatype (Integer, Text, Json, ...) < /p> В следующих строках я объявляю свою базу данных Meta Data. < /p> A5 = id B5 = int C5 = 7 D5 = ...
A6 = name B6 = text C6 = ... < /code> Я закодировал Makro, который вставляется в ячейку E1, например, < /p> CREATE TABLE `Test` ( `id` INT(20) NULL AUTO_INCREMENT, `name` TEXT(100) NOT NULL DEFAULT 'easymathematics' ); < /code> выглядит так < /p> Sub CreateTableSQL Dim oDoc As Object, oSheet As Object oDoc = ThisComponent oSheet = oDoc.Sheets(0)
Dim tableName As String Dim tableCell as String Dim startFor as Integer tableCell = Trim(oSheet.getCellRangeByName("A1").String) tableName = Trim(oSheet.getCellRangeByName(tableCell).String) startFor = Trim(oSheet.getCellRangeByName("B2").String)
If tableName = "" Then MsgBox "Bitte Tabellennamen in C1 eingeben.", 48, "Hinweis" Exit Sub End If
Dim sql As String sql = "CREATE TABLE `" & tableName & "` (" & Chr(10)
Dim i As Integer For i = (startFor-1) To 100 Dim colName As String, colType As String, colLen As String Dim colNull As String, autoInc As String, defVal As String
colName = Trim(oSheet.getCellByPosition(0, i).String) ' A
If colName = "" Then Exit For
colType = UCase(Trim(oSheet.getCellByPosition(1, i).String)) ' B colLen = Trim(oSheet.getCellByPosition(2, i).String) ' C colNull = UCase(Trim(oSheet.getCellByPosition(3, i).String)) ' D autoInc = LCase(Trim(oSheet.getCellByPosition(4, i).String)) ' E defVal = Trim(oSheet.getCellByPosition(5, i).String) ' F
sql = sql & " `" & colName & "` " & colType
If colLen "" Then sql = sql & "(" & colLen & ")" End If
If colNull = "NOT NULL" Then sql = sql & " NOT NULL" Else sql = sql & " NULL" End If
If defVal "" Then sql = sql & " DEFAULT '" & defVal & "'" End If
If autoInc = "ja" Then sql = sql & " AUTO_INCREMENT" End If
'MsgBox sql, 0, "SQL-Statement" oSheet.getCellRangeByName("E1").String = sql End Sub < /code> Я создал это с помощью Chatgpt, хорошо? :) < /p> Так что я надеюсь, что это поможет мне все время создавать таблицы, а не открытые phpmyadmin. : D < /p> Я хочу сделать вставку, в котором вводит строку данных с id = 0 и содержит метадаты для ячеек.$crud->show_as( hard code ) < /code> Я планирую получить эти метадаты из нула. < /p> Может ли кто-нибудь помочь мне с идеями?id=0, {display_as: My Name, show_view = true, ...}, {display_as: next_column, ...}[/code] Мой план состоит в том, чтобы генерировать вставку, которое помещает эти json-стрижки.>