Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 3526|回復(fù): 5
打印 上一主題 下一主題

[窗體] 求助!根據(jù)子窗體不同字段值打開不同的編輯窗體!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2021-4-9 17:28:16 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
菜鳥求助大佬:
    現(xiàn)有三個(gè)表
    表1字段為:ID,Type,Name
    表2字段為:ID,Type,Name,Nation
    表3字段為:ID,Type,Name,Nation,Phone

    Type字段內(nèi)容有:自有,派遣,其他
    根據(jù)三個(gè)表建了個(gè)聯(lián)合查詢Qry,并且以聯(lián)合查詢作為記錄源建立窗體(平臺(tái)生成):查詢.Qry和查詢.Edit
    并且三個(gè)表各自建立窗體:表1.Qry,表1.Edit,表2.Qry,表2.Edit,表3.Qry,表3.Edit

    目前通過"查詢.Qry"窗體雙擊或點(diǎn)擊編輯可以打開對(duì)應(yīng)記錄的編輯窗體,但因記錄源是聯(lián)合查詢,無(wú)法直接編輯。

    現(xiàn)在需求:
    通過“查詢.Qry”窗體
    1)如果當(dāng)前記錄中Type=自有,則打開“表1.Edit”對(duì)應(yīng)ID的編輯窗體
    2)如果當(dāng)前記錄中Type=派遣,則打開“表2.Edit”對(duì)應(yīng)ID的編輯窗體
    3)如果當(dāng)前記錄中Type=其他,則打開“表3.Edit”對(duì)應(yīng)ID的編輯窗體


麻煩高手給個(gè)代碼,謝謝了!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
 樓主| 發(fā)表于 2021-4-9 17:29:39 | 只看該作者
因?yàn)槿齻(gè)表的ID雖然字段名稱相同,但是自動(dòng)編號(hào)規(guī)則不一致。
3#
發(fā)表于 2021-4-11 17:25:07 | 只看該作者
明明用表3就可以了,沒搞懂為啥建三張表。
按我理解,可能是三個(gè)BU(事業(yè)群)各自建一張表。但是,——我還是要說“但是”,你就不能把三張表聯(lián)合查詢后追加到同一張表么?加一個(gè)字段(比如,“事業(yè)群”)來(lái)區(qū)分各個(gè)表的來(lái)源么?
后面根據(jù)這個(gè)字段做一個(gè)查詢(where 事業(yè)群="'"&txt事業(yè)群&"'")即可分配權(quán)限了。
4#
 樓主| 發(fā)表于 2021-4-12 15:31:16 | 只看該作者
roych 發(fā)表于 2021-4-11 17:25
明明用表3就可以了,沒搞懂為啥建三張表。
按我理解,可能是三個(gè)BU(事業(yè)群)各自建一張表。但是,——我 ...

感謝版主答復(fù)。是這樣的
之所以建3張表,原因在于每張表的ID自動(dòng)編號(hào)規(guī)則(表1編號(hào),表2編號(hào),表3編號(hào))并不一致,而且3張表中除了有共同字段外,也有不同字段,每張表的編輯窗體是不一樣的,字段1的下拉數(shù)據(jù)為A,B,C

能否幫忙改一下代碼,現(xiàn)有表1、表2、表3

表1:ID,字段1,字段2,字段3
表2:ID,字段1,字段2,字段3,字段4,字段5
表3:ID,字段1,字段2,字段3,字段4,字段5,字段6,字段7
聯(lián)合查詢表1、表2和表3:ID,字段1,字段2,字段3

3張表和聯(lián)合查詢各自通過平臺(tái)窗體生成主窗體(main)、列表窗體(list)和編輯窗體(edit)

因?yàn)槁?lián)合查詢打開的編輯窗體無(wú)法進(jìn)行數(shù)據(jù)修改只能查看(而且根據(jù)聯(lián)合查詢,只查詢3張表的共同字段),所以現(xiàn)在想實(shí)現(xiàn)的功能是:

在聯(lián)合查詢main窗體中點(diǎn)擊編輯,如果選中行字段1的值為A,則打開表1edit,如果為B則打開表2edit,如果為C則打開表3edit

能否給一個(gè)根據(jù)字段1的值不同而打開不同編輯窗體的代碼
5#
 樓主| 發(fā)表于 2021-4-12 15:31:36 | 只看該作者
roych 發(fā)表于 2021-4-11 17:25
明明用表3就可以了,沒搞懂為啥建三張表。
按我理解,可能是三個(gè)BU(事業(yè)群)各自建一張表。但是,——我 ...

感謝版主答復(fù)。是這樣的
之所以建3張表,原因在于每張表的ID自動(dòng)編號(hào)規(guī)則(表1編號(hào),表2編號(hào),表3編號(hào))并不一致,而且3張表中除了有共同字段外,也有不同字段,每張表的編輯窗體是不一樣的,字段1的下拉數(shù)據(jù)為A,B,C

能否幫忙改一下代碼,現(xiàn)有表1、表2、表3

表1:ID,字段1,字段2,字段3
表2:ID,字段1,字段2,字段3,字段4,字段5
表3:ID,字段1,字段2,字段3,字段4,字段5,字段6,字段7
聯(lián)合查詢表1、表2和表3:ID,字段1,字段2,字段3

3張表和聯(lián)合查詢各自通過平臺(tái)窗體生成主窗體(main)、列表窗體(list)和編輯窗體(edit)

因?yàn)槁?lián)合查詢打開的編輯窗體無(wú)法進(jìn)行數(shù)據(jù)修改只能查看(而且根據(jù)聯(lián)合查詢,只查詢3張表的共同字段),所以現(xiàn)在想實(shí)現(xiàn)的功能是:

在聯(lián)合查詢main窗體中點(diǎn)擊編輯,如果選中行字段1的值為A,則打開表1edit,如果為B則打開表2edit,如果為C則打開表3edit

能否給一個(gè)根據(jù)字段1的值不同而打開不同編輯窗體的代碼
6#
發(fā)表于 2021-4-16 23:59:14 | 只看該作者
是不是我說得還不夠清楚?把三張表的三個(gè)字段追加到同一張表,加上表來(lái)源,后面以這張表的表來(lái)源作為條件來(lái)篩選。
比如,
  1. insert into 匯總表(字段1,字段2,字段3,數(shù)據(jù)源)
  2. select 字段1,字段2,字段3,"表1" as 數(shù)據(jù)源 from 表1
  3. union all
  4. select 字段1,字段2,字段3,"表2" as 數(shù)據(jù)源 from 表2
  5. union all
  6. select 字段1,字段2,字段3,"表2" as 數(shù)據(jù)源 from 表2
復(fù)制代碼

后面,是不是可以根據(jù)“匯總表的字段“數(shù)據(jù)源”作為條件來(lái)篩選?
比如,甲用戶只能修改”表1“的數(shù)據(jù),那么就創(chuàng)建一個(gè)窗體。數(shù)據(jù)源設(shè)置為:select * from 匯總表 where 數(shù)據(jù)源="表1";乙用戶只能修改”表2“的數(shù)據(jù)源,同樣創(chuàng)建一個(gè)數(shù)據(jù)源=”表2“的窗體供他使用。。。。
事實(shí)上。這些完全可以在登錄時(shí)設(shè)置好,而不必創(chuàng)建三個(gè)窗體。登錄時(shí),將用戶和”數(shù)據(jù)源“做一個(gè)綁定,可以創(chuàng)建一個(gè)用戶表:
用戶 數(shù)據(jù)源
甲    表1
乙    表2
丙    表3
……
當(dāng)用戶登錄時(shí),匹配到相應(yīng)的數(shù)據(jù)源,然后引用到窗體上即可。
其實(shí)吧,我知道,即使說了這么多,你還是一頭霧水。因?yàn)閺哪愕谋碓O(shè)計(jì)思路來(lái)看,大概是新手,還沒去理解該如何整合數(shù)據(jù)源,就開始著手權(quán)限問題了。——這里沒有取笑的意思,只是希望你不要走我當(dāng)年走過的彎路!(dāng)年我看了三個(gè)月的書就急吼吼地去設(shè)計(jì)窗體了,直至后面各種問題,按下葫蘆浮起瓢,改得面目全非,不得不推翻重來(lái),才開始去看表設(shè)計(jì)范式。
不過還是給出一些例子,希望對(duì)你理解數(shù)據(jù)庫(kù)設(shè)計(jì)有些許幫助。
以下是簡(jiǎn)單的權(quán)限設(shè)計(jì)(第一個(gè)是通過引用登錄用戶作為條件讓用戶只能編輯自己權(quán)限下的數(shù)據(jù)):
http://ctxi.cn/thread-119118-1-1.html
http://ctxi.cn/thread-79760-1-1.html
以下是數(shù)據(jù)源整合(多種數(shù)據(jù)源,最后整合到一張表,然后出具報(bào)表):
http://ctxi.cn/thread-121627-1-1.html
以下是數(shù)據(jù)表范式設(shè)計(jì):
http://ctxi.cn/thread-118819-1-1.html
http://ctxi.cn/thread-120215-1-1.html
http://ctxi.cn/thread-126428-1-1.html
帖子不多,認(rèn)真看看吧。如能對(duì)你有所啟發(fā),也不枉費(fèi)我敲這么多字了。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 10:22 , Processed in 0.104342 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表