create a new page, using OOobbs3/44 as a template.
Front page
Search
掲示板
Reload
Help
Browse Log
掲示板の使い方
OOo 掲示板3
OOo 掲示板2
OOo 掲示板
掲示板
雑談掲示板
New
List of pages
Recent changes
Backup
簡単ヘルプ
整形ルール
Start:
** [[OOobbs3/44]] [#z1937658]
-''サマリ'': Baseの新規作成Formの編集について
-''環境'': Basic
-''状態'': 解決
-''投稿者'': [[new_OOo3]]
-''投稿日'': 2011-01-10 (月) 16:11:01
*** 質問 [#g0d8958d]
お世話になります。
下記URL Pageを参考に新規Tableと新規Formを含むBase Documen...
URL : http://hermione.s41.xrea.com/pukiwiki/index.php?...
*********** [ Code1 ] ***************
Sub oFormCreate
On Error Goto oBad
'Create New Base Document
Dim oDoc
Dim Dummy()
Dim oAns
oDoc = StarDesktop.loadComponentFromURL("private:facto...
oDataSource = oDoc.DataSource
'
' set to use hsqldb
oDataSource.URL = "sdbc:embedded:hsqldb"
oTempName = ConvertToUrl("c:\temp\oBaseMacroTest.odb")
if FileExists(oTempName) then
oAns = msgbox("同名fileがあります。削除しますか?", 4...
if oAns = 6 then
Kill(oTempName)
Else
MsgBox("中断します。")
Exit Sub
End if
end if
oDoc.StoreAsURL(oTempName,Dummy())
'
' Load the Tools library
If NOT GlobalScope.BasicLibraries.isLibraryLoaded("To...
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
'
' Connect DB
Dim oBaseContent
Dim oDB
Dim oCon
oBaseContext = CreateUnoService("com.sun.star.sdb.Dat...
oDB = oBaseContext.getByName(oTempName)
oCon = oDB.getConnection("", "")
'
'Create New Table
Dim oTables
Dim oTableName
Dim oTableDescriptor
' Access Tables in Connecting DB
oTables = oCon.getTables()
' Define the Table Property
oTableDescriptor = oTables.createDataDescriptor()
oTableName = "MACROTESTTABLE"
oTableDescriptor.Name = oTableName
' Define the Datas to table Columns( 最低一項目は設...
oCols = oTableDescriptor.getColumns()
oCol = oCols.createDataDescriptor()
oCol.Name = "ID"
oCol.Type = com.sun.star.sdbc.DataType.INTEGER
oCol.IsNullable = com.sun.star.sdbc.ColumnValue....
oCol.IsAutoIncrement = True
oCol.Precision = 10
oCol.Description = "Primary Key"
oCols.appendByDescriptor(oCol)
'
' Create Table but not to be able to look the tabl...
oTables.appendByDescriptor(oTableDescriptor)
'
'Base Document Save
oDB.DatabaseDocument.store()
'
' 新規Form作成
oFormDocuments = oDoc.getFormDocuments()
oForm = oFormDocuments.createInstance("com.sun.star....
oFormDocuments.insertByName("oNewForm", oForm)
'
' DisConnect
oCon.close
oCon.dispose
'
REM wait 1000
'
REM Dim oArgs(0) As new com.sun.star.beans.PropertyValue
REM oArgs(0).Name = "Overwrite"
REM oArgs(0).Value = true
REM oDoc.storeToURL(oTempName,oArgs)
' Display
msgbox "Success"
Exit Sub
oBad:
Dim oErLine As Integer
Dim oErNum As Integer
Dim oErMsg As String
oErLine = Erl
oErNum = Err
oErMsg = Error
Msgbox("Error Line No. " & Chr$(9) & " : " & oErLine & ...
& "Error Number " & Chr$(9) & " : " & oErNum &Chr$(10 ...
& "Error Message" & Chr$(9) & " : " & oErMsg , 0,"Erro...
End Sub
*****************************************
macro自体は最終Message(Sccess)まで表示して完了しますが、...
#ref(BaseError0.png)
作成したFileを一旦終了(「変更を保存する」を選択)した後に...
そこで、上記Code1中の「REM」にてComment文にしている5行を...
#ref(BaseError.png)
つきましては、上記Macro終了後に一旦Fileを終了させずにForm...
蛇足ながら、当方の最終目的を以下に記します。
目的 :Table, Formを含むBase Documentの作成
Step1 : 新規Tableを含む新規Base Documentの作成 => 済み
Step2 : 新規Table、新規Form(Form項目無し)を含む新規Base...
Step3 : 新規Table、新規Formに各種入力Form(Text Box, Rad...
現在、Step3を行う為に作成したFormを編集Modeで開くところで...
宜しくご教示頂けます様お願いします。
*** 回答 [#o8afa393]
- 試してみていませんが、hsqldb は保存されたベースドキュメ...
#comment
*** 感想,コメント,メモ [#y1c4d5aa]
- ご回答ありがとうございます。
投稿後に試行錯誤した結果、「Form」Documentが保存されてい...
「Form」Documentの保存につきましては、もう少し粘ってから...
本質問はこれで完了とさせて頂きたいと思います。 -- new_OOo...
- GUIからbaseドキュメントを作成するときも先に保存させられ...
#comment
End:
** [[OOobbs3/44]] [#z1937658]
-''サマリ'': Baseの新規作成Formの編集について
-''環境'': Basic
-''状態'': 解決
-''投稿者'': [[new_OOo3]]
-''投稿日'': 2011-01-10 (月) 16:11:01
*** 質問 [#g0d8958d]
お世話になります。
下記URL Pageを参考に新規Tableと新規Formを含むBase Documen...
URL : http://hermione.s41.xrea.com/pukiwiki/index.php?...
*********** [ Code1 ] ***************
Sub oFormCreate
On Error Goto oBad
'Create New Base Document
Dim oDoc
Dim Dummy()
Dim oAns
oDoc = StarDesktop.loadComponentFromURL("private:facto...
oDataSource = oDoc.DataSource
'
' set to use hsqldb
oDataSource.URL = "sdbc:embedded:hsqldb"
oTempName = ConvertToUrl("c:\temp\oBaseMacroTest.odb")
if FileExists(oTempName) then
oAns = msgbox("同名fileがあります。削除しますか?", 4...
if oAns = 6 then
Kill(oTempName)
Else
MsgBox("中断します。")
Exit Sub
End if
end if
oDoc.StoreAsURL(oTempName,Dummy())
'
' Load the Tools library
If NOT GlobalScope.BasicLibraries.isLibraryLoaded("To...
GlobalScope.BasicLibraries.LoadLibrary("Tools")
End If
'
' Connect DB
Dim oBaseContent
Dim oDB
Dim oCon
oBaseContext = CreateUnoService("com.sun.star.sdb.Dat...
oDB = oBaseContext.getByName(oTempName)
oCon = oDB.getConnection("", "")
'
'Create New Table
Dim oTables
Dim oTableName
Dim oTableDescriptor
' Access Tables in Connecting DB
oTables = oCon.getTables()
' Define the Table Property
oTableDescriptor = oTables.createDataDescriptor()
oTableName = "MACROTESTTABLE"
oTableDescriptor.Name = oTableName
' Define the Datas to table Columns( 最低一項目は設...
oCols = oTableDescriptor.getColumns()
oCol = oCols.createDataDescriptor()
oCol.Name = "ID"
oCol.Type = com.sun.star.sdbc.DataType.INTEGER
oCol.IsNullable = com.sun.star.sdbc.ColumnValue....
oCol.IsAutoIncrement = True
oCol.Precision = 10
oCol.Description = "Primary Key"
oCols.appendByDescriptor(oCol)
'
' Create Table but not to be able to look the tabl...
oTables.appendByDescriptor(oTableDescriptor)
'
'Base Document Save
oDB.DatabaseDocument.store()
'
' 新規Form作成
oFormDocuments = oDoc.getFormDocuments()
oForm = oFormDocuments.createInstance("com.sun.star....
oFormDocuments.insertByName("oNewForm", oForm)
'
' DisConnect
oCon.close
oCon.dispose
'
REM wait 1000
'
REM Dim oArgs(0) As new com.sun.star.beans.PropertyValue
REM oArgs(0).Name = "Overwrite"
REM oArgs(0).Value = true
REM oDoc.storeToURL(oTempName,oArgs)
' Display
msgbox "Success"
Exit Sub
oBad:
Dim oErLine As Integer
Dim oErNum As Integer
Dim oErMsg As String
oErLine = Erl
oErNum = Err
oErMsg = Error
Msgbox("Error Line No. " & Chr$(9) & " : " & oErLine & ...
& "Error Number " & Chr$(9) & " : " & oErNum &Chr$(10 ...
& "Error Message" & Chr$(9) & " : " & oErMsg , 0,"Erro...
End Sub
*****************************************
macro自体は最終Message(Sccess)まで表示して完了しますが、...
#ref(BaseError0.png)
作成したFileを一旦終了(「変更を保存する」を選択)した後に...
そこで、上記Code1中の「REM」にてComment文にしている5行を...
#ref(BaseError.png)
つきましては、上記Macro終了後に一旦Fileを終了させずにForm...
蛇足ながら、当方の最終目的を以下に記します。
目的 :Table, Formを含むBase Documentの作成
Step1 : 新規Tableを含む新規Base Documentの作成 => 済み
Step2 : 新規Table、新規Form(Form項目無し)を含む新規Base...
Step3 : 新規Table、新規Formに各種入力Form(Text Box, Rad...
現在、Step3を行う為に作成したFormを編集Modeで開くところで...
宜しくご教示頂けます様お願いします。
*** 回答 [#o8afa393]
- 試してみていませんが、hsqldb は保存されたベースドキュメ...
#comment
*** 感想,コメント,メモ [#y1c4d5aa]
- ご回答ありがとうございます。
投稿後に試行錯誤した結果、「Form」Documentが保存されてい...
「Form」Documentの保存につきましては、もう少し粘ってから...
本質問はこれで完了とさせて頂きたいと思います。 -- new_OOo...
- GUIからbaseドキュメントを作成するときも先に保存させられ...
#comment
Page: