最近在研究這個
研究的好煩唷…
已經遇到瓶頸了:
沒事找事做…
唉…還買了一堆書…
看不懂啦…
以下是我在藍色小鋪問的
別人給我的回答,放在這兒備忘…



有關access的三個問題(組合式方塊,及浮動價格等)
價值 : 20 QP  點閱數:141 回應數:13
提問者 :
發表日期 :2006-10-17 20:58
1、在我的資料表中,有產品資料表,及訂單小計,供應商、產品類別
2、產品資料表中的欄位有:類別(與產品類別產生關聯)、供應商(與供應商產生關聯)、產品、售價、進價
3、我將我的訂單小計製作成查詢,多增加數量及小計(售價×數量)和總計(訂價×數量)欄位
4、我的表單是由訂單小計查詢中而來的,

我想問的問題是:
(一)如果我要在我的表單(訂單小計查詢一)當中輸入訂單時,
因為產品種類很多,我想要在在慢慢的縮小其選擇範圍(由類別→供應商→產品)
請問該如何製作??或設定

我看了很多篇關於access下拉式選單的方法,但是他們好像不是跟我一樣,
都是從查詢當中製作而成表單的,都是直接制作表單的,所以我用他們的方式好像沒有用
(我的關聯都是強迫參考完整性,)
因為我有許多資料都已經輸入在一個製作不太好的資料表當中,如果我直接用表單制作,無法把他們copy過來…

(二)尤於我們的價格屬於浮動式價格,這個月產品的進價有時候會更改,下個月也會變動,如果我修改了產品價格的話,
這樣子每個月的營收表上會有誤差,請問該如何做設定??

(三)在我的產品當中,有些產品項目不能印成報表,是屬於內帳式的,我該如何不在印報表的時候把它穩藏起來??


不知道我這樣的描述會不會不夠清楚,如果看不懂的地方,請回文謝謝!
我買了很多關於access的書,但是大部份都無法解決我的問題,請各位達人幫幫忙!謝謝
1
作者回應

姓名:
2006-10-17 21:12
檢舉此回應
我曾經在雅虎的知識上詢問,
他給我的回答是在AfterUpdate上設定,
可是我曾經跟tungta要的範例中,他卻是在on click中做設定
這有什麼樣的差別??



雅虎的知識回答:
'首先你的表單上『類別』與『產品』其名稱也把他命名為『種類』與『產品名稱』
'訂貨主檔(資料表)的欄位的『種類』與『產品名稱』欄位名稱也為『種類』與『產品名稱』
'先在你設計的表單上『種類』欄位的屬性(欄位按滑鼠右鍵選屬性),再選資料頁籤在資料來源輸入
'在資料來源輸入SELECT distinct 種類 FROM 訂貨主檔;
'再到事件頁籤選擇After Update,建立以下程式

Private Sub 種類_AfterUpdate()
產品名稱.rowsource = "select 產品名稱 from 訂貨主檔 where 種類='" & 種類 & "'"
End Sub

tnugta在其on click的事件程序之設定:
Option Compare Database
Private Sub 路段_Click() '選取後重新查詢
Me![站名].Requery
End Sub
Private Sub 國道_Click()
Me![路段].Requery
End Sub

我試著做對應,卻對應不起來說…

access新手,請多多指教!謝謝
2
回應

姓名:tungta
2006-10-17 22:20
檢舉此回應
(一)如果你有參考了範例,是會成功的,可能你漏了一些什麼,例如組合方塊的資料來源中也要做設定
(二)可以在輸入新資料時設定抓取最後一筆的單價
(三)最好的方式就是加一個選項(內帳或外帳),這樣列印時就能據以做區別
3
回應

姓名:羅斯威爾事件
2006-10-21 14:47
檢舉此回應
>>我曾經在雅虎的知識上詢問,
>>他給我的回答是在AfterUpdate上設定,
>>可是我曾經跟tungta要的範例中,他卻是在on click中做設定
>>這有什麼樣的差別??

兩種方法各有好處:
如果你的表單是唯讀狀態,則不會傳回AfterUpdate事件,只會傳回Click事件。
如果User選了原本的值,AfterUpdate事件不會被觸發,但Click卻會導致再執行一次。

>>Private Sub 種類_AfterUpdate()
>>產品名稱.rowsource = "select 產品名稱 from 訂貨主檔 where 種類='" & 種類 & "'"
>>End Sub

這程式漏了一行,應該是:
產品名稱.rowsource = "select 產品名稱 from 訂貨主檔 where 種類='" & 種類 & "'"
產品名稱.Requery


4
作者回應

姓名:
2006-10-22 23:10
檢舉此回應
tungta
您回答的二是設定抓取最一個資料,請問該如何抓取…??
5
作者回應

姓名:
2006-10-22 23:13
檢舉此回應
對啦!我在雅虎上詢問,
那位好心的大大幫我看了資料表,認為在供應商那兒需要在做類別分類
可是有些供應商可能有二種類別
那麼在供應商的表格當中,就會出現一個供應商會有二個編號
請問那麼這樣我該如何是好??
6
回應

姓名:tungta
2006-10-23 02:32
檢舉此回應
1.抓取最後一筆的單價---可以給你範例參考,請貼上e-mail
2.是否要在供應商那兒做類別分類---我認為這是見仁見智的問題,端賴每個人的實際用法
7
作者回應

姓名:
2006-10-23 12:01
檢舉此回應
我的smallung44@yahoo.com.tw
tougta太感謝您了!
不知是否可以將我自已設計的表格係給您看!
請您幫我看看!謝謝!
8
作者回應

姓名:
2006-10-23 12:27
檢舉此回應
這是雅虎知識人家給的回答,
他另外有將我的供應商多做一個類別編號
但是有的屬於好幾類:
就變成有二筆資料…

一.訂單表單輸入時用查詢篩選的方法:
1.輸入[產品類別]後在[供應商]作一次查詢(如:輸入飲料類,則只有飲料類供應商會出現在下拉式選單內)
2.選擇供應商後在[產品]作一次查詢(如:選擇A廠商,則只有A廠商的產品會出現在下拉式選單內)
A.資料表需修正3種資料表間均以代號關連結省資料庫容量
B.1.製作[供應商 查詢]
欄位有類別編號、供應商編號、供應商
[類別編號]欄之準則中填入Like [Forms]![訂單]![類別名稱]
B.2.製作[產品 查詢]
欄位有供應商編號、產品編號、產品
於[產品編號]欄之準則中填入[Forms]![訂單]![供應商]
C.設計訂單表單於[產品類別]欄位進入[屬性]之[事件]在After Update選[事件程序],用滑鼠左鍵點該列右側...--->
Private Sub 供應商_AfterUpdate()
Me![產品].Requery
End Sub

Private Sub 類別名稱_AfterUpdate()
Me![供應商].Requery
供應商查詢:
Option Compare Database

Private Sub 供應商_AfterUpdate()
Me![產品].Requery
End Sub

Private Sub 類別名稱_AfterUpdate()
Me![供應商].Requery
End Sub
9
回應

姓名:tungta
2006-10-23 15:47
檢舉此回應
你的資料庫有一個問題:既然是建立訂單資料,就不能同時建立產品資料,例如"供應商、售價、進價"等欄位都必須在訂單資料表另有自己的欄位,不能使用產品資料的欄位,不然一個產品只有一個單價(因為只有產品資料有,而訂單資料沒有),若變更價格時如何處理呢?產品資料的單價(其他欄位也一樣)只做參考,訂單資料是獨立作業,這樣才有機動性,而同樣一個產品若已建檔有數筆訂單,若單價有所差別,就能以範例的方法取得最後單價

資料庫寄回,已在訂單資料加上"供應商、售價、進價"等欄位,查詢與表單也做了更改
10
作者回應

姓名:
2006-10-23 21:39
檢舉此回應
tungta大大!
謝謝您!可是現在有一個問題呢!
我要輸入表單資料的時候
他一直告訴我
“因為在資料中“產品類別資料表“必須要有相關資料存在,否則無法新增或刪除資料
請問這該何解!
11
回應

姓名:tungta
2006-10-23 22:11
檢舉此回應
那是因為訂單資料表的"類別名稱"欄位設計成文字型態,而表單上組合方塊卻設計成取產品類別資料表的"類別編號"欄位,是數字型態,兩者不合,故取不到資料,你要先確定訂單資料表的"類別名稱"欄位要使用哪種型態告訴我,我再幫你改,因為有牽涉到後續兩個組合方塊的驅動
12
作者回應

姓名:
2006-10-26 11:43
檢舉此回應
那您覺得是用文字型態比較好
還是數字型態比較好,
您看看是哪種比較好,可否幫我修改,
順便可以告訴我您改了哪些嗎?
不好意思,我們家的網路這二天掛了,這麼久才給您回…
感恩!
13
回應

姓名:tungta
2006-10-26 15:34
檢舉此回應
資料庫寄回!改變哪兒其實很簡單,你看一看就了解了:
1.你資料庫的缺點就是所有拉關聯線的名稱都不一樣,這在小小的資料庫沒什麼問題啦,但是隨著資料庫的設計,資料表愈來愈多時會造成自己混淆不清,也就是說拉關聯線兩端的欄位名稱最好相同(這點切記),當然兩者的資料類型也要相同
2.因此我將有關的欄位(供應商編號、類別編號、產品編號、學校編號)都加上編號兩字,資料類型也改為數字,資料庫關聯圖也做了調整,查詢、表單當然也有變動


arrow
arrow
    全站熱搜

    亮墥 發表在 痞客邦 留言(1) 人氣()