| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		芝風
 
 
  註冊時間: 2006-08-09 文章: 45 來自: 台灣,巴西
  第 1 樓
  | 
		
			
				 發表於: 星期三 八月 16, 2006 3:07 am    文章主題: 為什麼當我儲存資料時,都會跳一行?? | 
				     | 
			 
			
				
  | 
			 
			
				小弟做了一張form,左邊放了一個grid,顯示資料表的資料,底下用 formwizard所做成的按鈕來執行上一個,下一個,新增,移除的動作
 
 
現在有一個問題很怪,當我執行新增的時候,資料表那會跳一行,不知道為啥會這樣??
 
 
求有經驗的大大指點一番,多謝! _________________ 一籬一櫓一漁舟,一個艄公一釣勾 
 
一拍一呼還一笑,一人獨佔一江秋 
 
~清.紀昀~ | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		芝風
 
 
  註冊時間: 2006-08-09 文章: 45 來自: 台灣,巴西
  第 2 樓
  | 
		
			
				 發表於: 星期三 八月 16, 2006 3:11 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這是我朋友給我的範例:
 
 
OPEN DATABASE data\books SHARED
 
 
SELECT 1
 
USE data\READER ORDER READER_ID SHARED ALIAS reader
 
=CURSORSETPROP("BUFFERING",5,"READER")
 
GO TOP
 
SELECT 2
 
USE data\book ORDER book_ID SHARED ALIAS book
 
=CURSORSETPROP("BUFFERING",5,"book")
 
GO TOP
 
SELECT 3 
 
USE data\user ORDER USER_ID SHARED ALIAS user
 
=CURSORSETPROP("BUFFERING",5,"USER")
 
 
 
以上這些寫在code的部份,說反正要常常執行,不寫在form中,獨立出來,當程式一執行的時候,就開buffer
 
 
thisform.updmode=.t.
 
thisform.addrec = .t.
 
SELECT reader
 
APPEND BLANK
 
 
 
這些是寫在新增的部份
 
 
ELECT reader
 
REPLACE sysop_name WITH userinfo[2]
 
REPLACE sysop_date WITH DATETIME()
 
=TABLEUPDATE(.t.)
 
 
IF thisform.addrec = .t.
 
	thisform.updmode=.t.
 
	SELECT reader
 
	APPEND BLANK
 
	thisform.Refresh
 
	WITH thisform.Commandgroup1
 
		.addbtn.Enabled= .F.
 
		.delbtn.Enabled= .F.
 
		.editbtn.Enabled= .F.
 
		.savebtn.Enabled= .t.
 
		.abortbtn.Enabled= .t.
 
		.cardbtn.Enabled= .f.
 
	ENDWITH
 
	THISFORM.vcr1.SetAll("Enabled",.f.)
 
	Thisform.pageframe1.page1.Optsex.Option1.SetFocus
 
ELSE
 
	thisform.updmode=.f.
 
	IF EOF()
 
		GO bott
 
		THISFORM.vcr1.cmdtop.Enabled=.t.
 
		THISFORM.vcr1.cmdnext.Enabled=.f.
 
		THISFORM.vcr1.cmdprior.Enabled=.t.
 
		THISFORM.vcr1.cmdbottom.Enabled=.f.
 
	ELSE
 
		THISFORM.vcr1.SetAll("Enabled",.t.)
 
	ENDIF
 
	WITH thisform.Commandgroup1
 
		.addbtn.Enabled= .t.
 
		.delbtn.Enabled= .t.
 
		.editbtn.Enabled= .t.
 
		.savebtn.Enabled= .f.
 
		.abortbtn.Enabled=.f.
 
		.cardbtn.Enabled= .t.
 
	ENDWITH
 
	WITH thisform
 
		.grdReader.Enabled = .t.
 
		.command1.Enabled = .f.
 
		.command2.Enabled = .t.	
 
		.command3.Enabled = .t.	
 
		.command4.Enabled = .t.	
 
		.command5.Enabled = .t.
 
		.command6.Enabled = .t.		
 
		.command7.Enabled = .t.	
 
		.command8.Enabled = .t.		
 
	ENDWITH
 
	IF userinfo[5] = .t.
 
		thisform.command6.Enabled = .t.
 
	ELSE
 
		thisform.command6.Enabled = .F.
 
	ENDIF
 
	thisform.refresh
 
	thisform.grdReader.SetFocus
 
	
 
	
 
	
 
	
 
	
 
ENDIF
 
 
 
而這些是寫在儲存的部份
 
 
感謝! _________________ 一籬一櫓一漁舟,一個艄公一釣勾 
 
一拍一呼還一笑,一人獨佔一江秋 
 
~清.紀昀~ | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		nelsonchuang
 
 
  註冊時間: 2003-09-04 文章: 564 來自: 臺灣
  第 3 樓
  | 
		
			
				 發表於: 星期三 八月 16, 2006 9:00 am    文章主題: 你的動作沒錯 | 
				     | 
			 
			
				
  | 
			 
			
				新增時你執行append blank 本來就會新增一筆空白記錄!
 
你應該是想要先讓使用者輸入後,使用者按下了[確定]鍵才寫入資料是嗎?
 
那你應該是要在使用者按下[確定]鍵後才append blank 吧! _________________ 大家好,請多指教 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		芝風
 
 
  註冊時間: 2006-08-09 文章: 45 來自: 台灣,巴西
  第 4 樓
  | 
		
			
				 發表於: 星期三 八月 16, 2006 9:46 am    文章主題: Re: 你的動作沒錯 | 
				     | 
			 
			
				
  | 
			 
			
				 	  | nelsonchuang 寫到: | 	 		  新增時你執行append blank 本來就會新增一筆空白記錄!
 
你應該是想要先讓使用者輸入後,使用者按下了[確定]鍵才寫入資料是嗎?
 
那你應該是要在使用者按下[確定]鍵後才append blank 吧! | 	  
 
 
 
嗯嗯,上面那個是我朋友的例子,我看半天也是看不太懂…
 
 
可是問題是我用程式本身的精靈設計出來的新增儲存,他也是會跳一行…
 
 
不知道為什麼
 
 
這比較嚴重
 
 
還有不知道能不能夠提供一個使用buffer寫入資料表的例子?? _________________ 一籬一櫓一漁舟,一個艄公一釣勾 
 
一拍一呼還一笑,一人獨佔一江秋 
 
~清.紀昀~ | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		KKKLYNN
 
 
  註冊時間: 2004-09-17 文章: 357
 
  第 5 樓
  | 
		
			
				 發表於: 星期四 八月 17, 2006 9:56 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				新增資料
 
1.應該先要求使用者輸入資料----在TEXTBOX
 
2.驗證輸入資料是否正確(如重復)
 
3.APPEND BLANK
 
4.REPLACE
 
5.Tableupdate(0,.t.)
 
如此這般
 
以上您參考 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |