VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

form 1 的 value 點去 form 2 嫁... ><"

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
holycastle



註冊時間: 2004-05-29
文章: 11
來自: 香港-大陸(兩邊走...)

第 1 樓

發表發表於: 星期二 六月 08, 2004 10:36 pm    文章主題: form 1 的 value 點去 form 2 嫁... ><" 引言回覆

我點樣先可以將 form1 的 value 去 from2 呀~~~ 請大家幫幫忙~~~
以下係我寫入的command :

FOR iX = 1 TO _SCREEN.FORMCOUNT
IF _SCREEN.FORMS(iX).NAME = [MAIN1]
FORMS(iX).text1.value =ALLTRIM(THISFORM.TEXT1.Value)
ENDIF
ENDFOR

USE SEARCH
SET INDEX TO C

SEEK SEARCH_NO
IF FOUND()
FOR iX = 1 TO _SCREEN.FORMCOUNT
IF _SCREEN.FORMS(iX).NAME = [MAIN1]
_SCREEN.FORMS(iX).TEXT2.VALUE=SUPPLIER
_SCREEN.FORMS(iX).TEXT3.VALUE=GRP
_SCREEN.FORMS(iX).TEXT4.VALUE=PO_NO
_SCREEN.FORMS(iX).TEXT5.VALUE=ORDER_NO
_SCREEN.FORMS(iX).TEXT6.VALUE=PN
_SCREEN.FORMS(iX).TEXT7.VALUE=PACKAGE
_SCREEN.FORMS(iX).TEXT8.VALUE=PO_AMT
_SCREEN.FORMS(iX).TEXT9.VALUE=DAT2
_SCREEN.FORMS(iX).TEXT10.VALUE=MATERIAL_N
_SCREEN.FORMS(iX).TEXT11.VALUE=AMOUNT
_SCREEN.FORMS(iX).TEXT12.VALUE=STOCK_AMT
_SCREEN.FORMS(iX).TEXT13.VALUE=ACCUM_AMT
ENDIF
ENDFOR
ENDIF

THISFORM.RELEASE

救教救教~~~~
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
catjoke



註冊時間: 2003-06-16
文章: 175
來自: 香港

第 2 樓

發表發表於: 星期三 六月 09, 2004 3:34 pm    文章主題: 引言回覆

FOR iX = 1 TO _SCREEN.FORMCOUNT
IF _SCREEN.FORMS(iX).NAME = [MAIN1]
CurKey = ALLTRIM(THISFORM.TEXT1.Value)
_screen.FORMS(iX).text1.value = CurKey
ENDIF
ENDFOR

基本上正確, 可是你仍不懂 VFP.. ~_~

VFP 主要是 使用 ControlSource, 要更新就直接把它改進去........

REPLACE myTable.myField WITH AnotherTable.myField
Thisform.refresh
....

還有, form 內的 text1, 2, 3,.. 殺掉我好了..
如果有欄位要新增或減少... 每一個都要看一篇...

應該使用 txtSTOCK_AMT 來記載 STOCK_AMT 的資料,
要不要更新, 一看就知了!

而且我不明白為何一個 form 不能做, 硬要用兩個 form...

===========================================
你想做一個簡單的 form, 鍵入 主鍵後便可以看到 資料!

做一個新 form RazzP

txtSearch 是沒有 controlsource
其他的全以 SEARCH.SUPPLIER... 做 controlsource,
相應地有其 txtSUPPLIER 的名字!

再做一個 CmdSearch

* CmdSearch.Click 內容:
SEARCH_NO = ALLTRIM(ThisForm.txtSearch.VALUE)
CURRECNO = RECNO()
SEEK SEARCH_NO

IF !FOUND()
MESSAGEBOX([找不到!], 16, [>_<])
GO (CURRECNO)
ENDIF

ThisForm.Refresh


VFP 跟 VB 最大的分別, 就是利用 Controlsource 把資料 掏出來,
一句 ThisForm.Refresh 就看見了, 不需要像 VB 這麼慘...
一個一個 textbox 去展指 資料.

若不是你要做 search, 再簡單一些:

* CmdNextRec.Click 內容
SKIP
THisform.Refresh

兩句就可以看了~

_________________
喵喎~ 貓當然是 "茅" 的嘛! ^0^;
回頂端
檢視會員個人資料 發送私人訊息
holycastle



註冊時間: 2004-05-29
文章: 11
來自: 香港-大陸(兩邊走...)

第 3 樓

發表發表於: 星期三 六月 09, 2004 5:57 pm    文章主題: 引言回覆

對不起呀, catjoke...
可能因為我買左本教壞人的vpf書呀...我睇到的所有command同你教我的好似係兩種 lanuage咁....
我俾我個form d command 你睇下先啦...

&&opening.click1內容:
THISFORM.Release
DO FORM C:\REPORT\MAIN1
READ EVENTS

&&main1.click1內容:
CLOSE DATABASES
USE SEARCH
GO BOTTOM
DO FORM C:\REPORT\SEARCH1

&&search1.click1內容:
CLOSE DATABASES

SEARCH_NO=VAL(ALLTRIM(THISFORM.TEXT1.Value))
WRONG2=0
WRONG5=0

IF SEARCH_NO=0
WRONG2=0
ELSE
WRONG2=1
ENDIF

DO CASE
CASE WRONG2=0
MESSAGEBOX('表格編號不正確',48,'信號視窗')
THISFORM.grdSearch.Refresh
THISFORM.Release
ENDCASE

USE SEARCH
DELETE FILE C.IDX
INDEX ON NO TO C
SET INDEX TO C
SEEK SEARCH_NO
IF FOUND()
WRONG5=1
ENDIF

DO CASE
CASE WRONG5=0
MESSAGEBOX('表格編號不正確',48,'信號視窗')
THISFORM.grdSearch.Refresh
THISFORM.Release
ENDCASE

DO CASE
CASE WRONG5=1
MAIN1.TEXT1.VALUE=ALLTRIM(THISFORM.TEXT1.Value)
ENDCASE

DO CASE
CASE WRONG2=1

USE SEARCH
SET INDEX TO C

SEEK SEARCH_NO
IF FOUND()
MAIN1.TEXT2.VALUE=SUPPLIER
MAIN1.TEXT3.VALUE=GRP
MAIN1.TEXT4.VALUE=PO_NO
MAIN1.TEXT5.VALUE=ORDER_NO
MAIN1.TEXT6.VALUE=PN
MAIN1.TEXT7.VALUE=PACKAGE
MAIN1.TEXT8.VALUE=PO_AMT
MAIN1.TEXT9.VALUE=DAT2
MAIN1.TEXT10.VALUE=MATERIAL_N
MAIN1.TEXT11.VALUE=AMOUNT
MAIN1.TEXT12.VALUE=STOCK_AMT
MAIN1.TEXT13.VALUE=ACCUM_AMT
ENDIF

THISFORM.Release

ENDCASE

如果我係 [main1]個properties的 showwindows到簡"In the Top-Level form"
當我click serach1.clcik, 所有 value 都會入到 [main1]
但係如果係showwindows到簡"In Screen"
當我click serach1.clcik, 就會出 "object main1 not found"

最激係...我仲有 main2 同 search2....

如果我用完 [main1], 再返去 [opening], 用click2 開 [main2] 的話...
就算我係 [main2]個properties的 showwindows到簡左"In the Top-Level form"
我再用search2的話....佢都係話"object main2 not found"

唉, catjoke大人~~~ 我都知我咁樣寫vbf係好白痴嫁啦....但係到左le個地部...
我已經返唔到轉頭了....求下你救返我今次...下次再用你個方法寫啦~~~
求下你, 救返我今次啦~~~~

_________________
我係一個唔識VFP的白痴...
請大家幫下忙~~~~
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
catjoke



註冊時間: 2003-06-16
文章: 175
來自: 香港

第 4 樓

發表發表於: 星期四 六月 10, 2004 9:38 am    文章主題: 引言回覆

這樣看來, 你寫的是依他所列的 癈物程式來改, 改的沒有問題..
`-` 可惜它是癈物, 我看不明白.. Sad

_________________
喵喎~ 貓當然是 "茅" 的嘛! ^0^;
回頂端
檢視會員個人資料 發送私人訊息
holycastle



註冊時間: 2004-05-29
文章: 11
來自: 香港-大陸(兩邊走...)

第 5 樓

發表發表於: 星期四 六月 10, 2004 3:54 pm    文章主題: 引言回覆

catjoke~~~我已用了你個方法去入數...但是...

FOR X= 1 TO _SCREEN.FORMCOUNT
IF _SCREEN.FORMS(X).NAME=[MAIN1]
_SCREEN.FORM(X).TEXT1.VALUE=ALLTRIM(THISFORM.TEXT1.Value)
ELSE
F=0
ENDIF
ENDFOR

這個if...的結果係...出 F=0....為什麼 _SCREEN.FORMS(X).NAME找不到 MAIN1呢....是不是出現了什麼問題呀

_________________
我係一個唔識VFP的白痴...
請大家幫下忙~~~~
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作