 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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 P
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 文章主題: |
|
|
這樣看來, 你寫的是依他所列的 癈物程式來改, 改的沒有問題..
`-` 可惜它是癈物, 我看不明白..  _________________ 喵喎~ 貓當然是 "茅" 的嘛! ^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的白痴...
請大家幫下忙~~~~ |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|