2013-12-10 50 views
0

注意:爲清楚起見,整個問題已被重寫。訪問權限如何使一個單元格值取決於另一個單元格的值

我一直在撕裂我的頭髮,看看這個看似簡單的問題,我確切地知道我想做什麼,但不知道如何去做。

我有2代表與每個條目一個產品由公司做出以下相關列

Products: ProductID, ProductName 

。 ProductID是主鍵。新條目非常少。

Orders: OrderID, ProductName, ArticleID 

每個條目都是對公司的訂單。 OrderID是主鍵。新的條目連續進行。

這裏是我要找的用戶體驗:

用戶輸入產品進入Orders.ProductName的名稱。

Orders.ProductID自動成爲產品的ProductID。 通過轉到產品表,找到ProductName與用戶輸入的名稱相匹配的行,然後返回該行的產品ID。

在Excel中,這就像在一個單元格中輸入「=」,然後輸入所需的代碼。我不想在自動生成的字段中存儲任何數據,因爲它存在於其他地方,並且在兩個不同的地方存儲相同的信息是很好的數據庫實踐。

我已經嘗試了幾個SQL查詢,包括內部連接,但是我不能爲我的生活弄清楚如何從單個單元中獲取信息(不是在代碼中預定義的。用戶編寫的產品名稱)。再次說明:最好所有這些都是以不僅將輸入數據結束數據輸入單元格的方式完成的,而是將它全部作爲任何時間重新評估的函數,如果任何數據改變(就像「= SUM(B4,B5)」在excel中)

+0

你的意思是要適合該行的唯一ID記錄身份?如果這就是爲什麼不只是WHERE ID =你想要什麼ID? – lemunk

+0

當你使用MS Access時,爲什麼使用mysql標籤? – peterm

+0

@StevenSmith:問題是,我想讓查詢在所有行上工作,而不是在代碼中輸入的特定行上。 –

回答

0

好吧,不知道你在問什麼,但在這裏。

您的查詢似乎沒有問題,除非您需要基於某個原因進行選擇。

我的意思是你現在返回與兩個表匹配的所有記錄,你想根據下拉框過濾這個記錄嗎?

如果這是真的,您可以使用MS SQL存儲過程來做到這一點。 類似如下:

USE [YourDatabaseName] 
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
CREATE PROCEDURE [dbo].[MyProcedureName] 
@dropDownID int 
AS 

SELECT Articles.ArticleID 
FROM Articles 
INNER JOIN Orders ON Articles.ArticleNr=Orders.ArticleNr 
WHERE articles.ID = @dropDownID 

然後在代碼VB或C#簡單地傳遞所選擇的下拉菜單的程序的值,並返回結果。

這是你的事後?

+0

Orders.ArticleNr下拉框就位,我可以選擇出現在Articles.ArticleNr中的任何值。我不關心從下拉框中獲取信息,我只是想要弄清楚書面/選定的ArticleNr暗示的ArticleID。 我試過你的查詢,但MS Access不能識別「USE」,因此不讓我運行查詢。 –

+0

啊我的錯誤,忘記了你的使用Access的重新安裝。 – lemunk

0

你可能會設計這樣

articleTable - 條款ArticleID,ArticleNr

訂單 - 訂單ID和articleID

select Orders.OrderID, Orders.ArticleID, articleTable.ArticleNr 
from Orders 
    left join articleTable on Orders.ArticleID = articleTable.ArticleID 

當進入到訂單表的新秩序,並且用戶在ArticleNr中輸入「96964-A」中的 ,我希望ArticleID自動將 變爲「2」。如果這種方式在 的情況下很好,那將是最理想的。

只是使條款ArticleID在SQL Server或自動編號在MS Access

+0

Articles.ArticleID是一個自動編號。 (以及該表的主鍵) 這是** Orders **。ArticleID,我想自動化。 當Orders.ArticleNr被輸入到數據庫中時,我希望同一行上的Orders.ArticleID的值成爲ArticleNr值匹配的行中的Articles.ArticleID。 此外,我跑你的查詢,但它似乎是比我所尋找的其他方式。我想要查詢返回的是Articles.ArticleID的一個實例 –

相關問題