:::
LibreOffice討論區

求助,有關Libreoffice Base資料庫的一些疑問

discuss pic 2011-07-28 11:36:51
為了方便討論,小弟將目前建置中的資料庫放到網路上來供大家討論
並祈望各位先進能幫小弟解惑

利用libreoffice建置資料庫也有一段時間了
這期間,覺得使用上有些不便利的地方,也提上來跟大家討論
首先
1.表格欄位名稱設好後,並輸入資料後,就無法再變更欄位名稱了​。
2.資料欄原先未設定成自動編號,當已經資料匯入後,就無法再更​改成自動編號了
3.表格名稱,一但設定後,就無法再變更了。

以上問題,若是在資料庫建置初期,其實很好解決
但,若是在資料庫建置中期後,就會變得比較難解(目前除了建一個新的資料庫之後,再將原資料庫的資料彙入之外,還想不到其它的方法)

改名表格及欄位名稱,算是建置中的資料庫常會做的事,但一旦一開始沒建好,後期就會變得很難改,這點感覺對於非專業資料庫人員在使用上比較不便。


目前在利用資料庫的查詢功能建置查詢遇到困難,在此尋求各界先進的協助
(請各位先進先至小弟的google文件下載"工程管理資料庫sample.odb"檔)

小弟遇到的困難如下
A及B表詢表格,皆是用"群組及總計"這兩個函數做出來的表格
但卻無法利用這兩個表格,再做出一個新的查詢表格
(但若是沒用"群組及總計",則可成功的用A及B表詢表格再建一個C查詢表格)


實例如下
在小弟的工程管理資料庫sample.odb檔裏
1.查詢_工程案件總決算金額 及 2.查詢_各工程上級撥款總入庫金額
這兩個查詢表格(都是用群組及總計這兩個函數),無法再建立一個 "查詢_未入庫金額"表格


(小弟建的檔案放在google文件上)

Google文件
discuss pic 2011-07-28 13:51:26
參照:
georgeyeh 寫道:
1.表格欄位名稱設好後,並輸入資料後,就無法再變更欄位名稱了​。
3.表格名稱,一但設定後,就無法再變更了。


我想錯誤訊息寫得很清楚。
參照:
Table is referenced by view: 檢視_公文文號 in statement [ALTER TABLE "公文文號" RENAME TO "公文文號d"]

你的表格和欄位在表單和查詢裏有用到,直接改掉,對用到它的表單和查詢,會造成相依性的錯亂。只有沒被用到的表格和欄位才能改來改去。這在任何一種資料庫都是禁止的。

參照:
2.資料欄原先未設定成自動編號,當已經資料匯入後,就無法再更​改成自動編號了


自動編號內部有counter,只有insert時才會加一。一口氣那麼多資料時,counter無法加一。建議建新資料表,把資料一筆一筆insert過去。

參照:
1.查詢_工程案件總決算金額 及 2.查詢_各工程上級撥款總入庫金額
這兩個查詢表格(都是用群組及總計這兩個函數),無法再建立一個 "查詢_未入庫金額"表格


我想錯誤訊息也寫得很清楚。
參照:
Cannot be in ORDER BY clause in statement

把那兩個查詢的排序去掉就好了。
discuss pic 2011-07-29 08:58:19
請問,您說的刪除排序指的是附件圖中的那個
刪除排序鈕嗎?
我刪除了,但依舊無法使用,可以幫忙找出問題所在嗎?


附件網址
https://docs.google.com/leaf?id=0B9JKiYcC-SFQOTA2MWIyNjItMmVlMS00NWFjLWI4OGItN2Y1N2RkNTJiMjUz&hl=en_US
discuss pic 2011-07-29 10:08:32
參照:
請問,您說的刪除排序指的是附件圖中的那個


在查詢中按滑鼠右鍵,點選編輯。
建議您先熟悉base基本操作,再來問問題,比較適當。
另外亦建議自行閱讀錯誤訊息。錯誤訊息其實寫得很清楚。
若有需要講師基本操作教學,歡迎告知。
discuss pic 2011-07-29 15:19:02
統整一下 imacat 的回覆如下:

1. 如何在表格內變更欄位名稱?
在資料庫主頁下,左方「資料庫」窗格內,請選取「表格」。

在表格畫面下,找到「表格」區塊,對您想要變更欄位名稱的表格按下右鍵,接著點選「編輯」,畫面會切換到表格編輯模式。

縮圖


在「欄位名稱」欄下,可以直接修改您想要的欄位名稱。

縮圖


2. 原先未設定成自動編號,當已經資料匯入後,就無法再更​改成自動編號了。

原因:自動編號一開始就要設,不能日後改。這是沒辦法的事​。自動編號內部有一個counter,只會在inser​t資料時加一。原來就有資料下,自動編號無法為原來的資​料編號,如果一定要的話,建議你新建一個資料表,然後一​筆一筆insert進去。

3. 表格名稱設定好後,就不能變更表格名稱。
如果您的表格和欄位在表單和查詢裏已經被使用,如果您直接改掉,對用到它的那些表單和查詢會造成相依性的錯亂。因為名稱若有變化,就無法繼續參照了。

如果沒有被使用的話,您可以直接透過 1. 所述的方法,在右鍵情境選單下找到「重新命名」。

只有沒被用到的表格和欄位才能改來改去。這在任何一種資料庫都是禁止的。

4. 最後用兩項查詢製作新查詢,必須先移除排序。
在資料庫主頁下,左方「資料庫」窗格內,請選取「查詢」。

在查詢畫面下,找到「查詢」區塊,對您想要用來製作新查詢的舊查詢按下右鍵,接著點選「編輯」,畫面會切換到查詢編輯模式。

請注意畫面中的第四列:「排序」。在「排序」列下,可以將排序方式設定為「(不排序)」。

縮圖


等候您完成「排序」的移除候,您可以再透過舊查詢建立新查詢。
discuss pic 2011-08-01 14:36:58
問題已解決,感謝您的協助
discuss pic 2011-08-03 22:04:35
to imacat:
原文
你的表格和欄位在表單和查詢裏有用到,直接改掉,對用到它的表單和查詢,會造成相依性的錯亂。只有沒被用到的表格和欄位才能改來改去。這在任何一種資料庫都是禁止的。

因為我只有原版的access2000,所以我拿早期在access2000環境之下建立的資料庫來做試驗

首先,針對改表格名稱及欄位名稱這部份來探討
1.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636624942600933666
在access的環境之下,將檔案打開
我們以"各工程預算來源"這個表格為例

2.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636624908842885442
打開關聯表,我們可以看見"各工程預算來源"這個表格的"案件識別碼"這個欄位
一共與7個表格相關聯

3.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636625017894994050
再切換到查詢中,這表格被"未決算應辦歲入保留案件查詢"及"案件識別碼查詢"
這兩個查詢應用到

4.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636625061867546258
切換到表單中,這表格被"各工程預算來源"這個表單應用到


5.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636625108272946290
首先,我們進行變更表格名稱這個動作
按滑鼠右鍵,點選重新命名

6.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636625139352838530
將"各工程預算來源"改成"各工程預算來源及公文文號"


7.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636632526458323234
按enter後,就修改完成了


8.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636625191789311314
接著,我們來看修改欄位名稱這部份
之前有提到過"案件識別碼"這個欄位一共與7個表格相關聯


9.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636625238301778978
我們把"案件識別碼"改成"案件ID"


10.
https://picasaweb.google.com/georgeyeh123/OjSEv?authkey=Gv1sRgCIHjxcS8kp7DSQ#5636625288014613154
改完後,點進到表格內,欄位名稱成功的更改成"案件ID"


此例謹證明至少在access2000的環境裏,有被運用到的表格及欄位仍然可以改變其名稱

事實上libreoffice base在事際運用上有許多讓小弟覺得不便的地方,不再贅述

小弟在此發文,謹希望 libreoffice base在操作上可以再人性化一些
若 貴版覺得使用者的觀感這部份不在 貴版的討論範圍內,請來信告知小弟將自行刪除文章

最後,再次感謝zerg07 君及imacat 君不辭辛勞的為小弟解惑
恭祝 泰安

discuss pic 2011-08-04 01:10:08
參照:

georgeyeh 寫道:
此例謹證明至少在access2000的環境裏,有被運用到的表格及欄位仍然可以改變其名稱

事實上libreoffice base在事際運用上有許多讓小弟覺得不便的地方,不再贅述

小弟在此發文,謹希望 libreoffice base在操作上可以再人性化一些
若 貴版覺得使用者的觀感這部份不在 貴版的討論範圍內,請來信告知小弟將自行刪除文章


使用者的觀感,當然是在本版的討論範圍內。不過也希望您能諒解,LibreOffice/OpenOffice.org和MS Office比較,是不公平的。後者需付費購買,亦不容許您自由使用。

事實上,兩者是完全不一樣的軟體。從來沒有人說過,兩者的使用經驗會一模一樣。這也是現實上不可能。如果您以MS Office的使用經驗來期待LibreOffice/OpenOffice.org,一定會有很大的落差,而且天生無法彌補。但如果您以全新的角度來期待一套不一樣的辦公室應用軟體,那我想您會有很多驚喜。 ^_*'

希望您使用愉快!
discuss pic 2011-08-04 09:07:52
當然,我們都期待libreoffice/openoffice能夠逐漸壯大起來
而帶給使用者更多美好的體驗

至少,我將可遇見當大多數的單位都採用libreoffice/openoffice
可以減少很多因版本不同,而造成格式走位的情形發生

尤其是office2011之前,制作PDF格式檔並不是那麼的方便。若沒有很徹底的檢查就按列印,拌隨而來的,就是在列印機的那頭立即可以見到慘案發生


期待libreoffice/openoffice的長成
也希望 貴團隊能夠持續的努力
:::

誰在線上

8人線上 (7人在瀏覽互動討論區)

會員: 0
訪客: 8

更多…