กระทู้เก่าบอร์ด อ.Yeadram
        
           5,428   23		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        อยากแสดงรายกานลงใน command botton      
    
      รบกวนสอบถามหน่อยครับว่า
table test1 ผมมีฟิลด์ชื่อว่า item
aa
bb
cc
dd
อยากให้แสดง command botton ใน form โดยแสดงเป็น
command botton1 aa, command botton2 bb
command botton3 cc, command botton4 dd
หรือถ้า command botton ทำไม่ได้แล้วใช้ตัวไหนทำได้ในลักษณะนี้บ้างครับ
ขอบคุณมากครับ
    
  table test1 ผมมีฟิลด์ชื่อว่า item
aa
bb
cc
dd
อยากให้แสดง command botton ใน form โดยแสดงเป็น
command botton1 aa, command botton2 bb
command botton3 cc, command botton4 dd
หรือถ้า command botton ทำไม่ได้แล้วใช้ตัวไหนทำได้ในลักษณะนี้บ้างครับ
ขอบคุณมากครับ
				23 Reply in this Topic. Dispaly 2  pages and you are on page number 1 
				
        
    1 @R04559    
        
  
      ขออภัยพิมพ์ผิด command button    
    
  
        
    2 @R04561    
        
  
      me.ชื่อปุ่ม.caption = ชื่อที่อยากให้แก้ 
eg.
สร้าง button1
button1.caption = command botton1 aa
ครับ
ที่เหลือ ก็ loop ค่า จาก ข้อมูล มาทำเอา
    
  eg.
สร้าง button1
button1.caption = command botton1 aa
ครับ
ที่เหลือ ก็ loop ค่า จาก ข้อมูล มาทำเอา
        
    3 @R04562    
        
  
      ขอบคุณมากครับ ขอดูวิธีการ loop ค่าจากข้อมูล พร้อมทั้งเก็บข้อมูลลงตารางด้วยได้ไหมครับ
ขอบคุณมากครับ
    
  ขอบคุณมากครับ
        
    4 @R04580    
        
  
      ท่านใดว่างช่วยดูหน่อยครับ
ขอบคุณมากครับ
    
  ขอบคุณมากครับ
        
    5 @R04584    
        
  
      สมมติ คุณมี ปุ่มอยู่ 20ปุ่ม
คุณตั้งชื??อปุ่มให้เป็นลำดับกัน และอยู่ในรูปแบบเดียวกัน เช่น
btt01, btt02, btt03 .....
ส่วนข้อมูล
สมมติว่าคุณมีข้อมูลอยู่แล้ว 20 รายการ
โดยเก็บข้อมูลไว้ในตารางชื่อ table1 ฟิลด์ชื่อ F1
เมื่อคุณอยากนำข้อมูลทั้ง 20 รายการ ไปวางเป็น caption ของปุ่มแต่ละปุ่มโดยให้วางปุ่มละ 1 รายการ (ซึ่งมันลงตัวพอดี มีปุ่ม20 = มีข้อมูล20) คุณก็เขียนลูปดังนี้
dim Rs as new adodb.recordset
rs.open "Select F1 From Table1", Currentproject.connection, 1
do while not rs.eof
me("btt" & format(rs.absoluteposition,"00")).caption = rs(0)
rs.movenext
loop
rs.close
set rs=nothing
------------------
ส่วนคำถามต่อ ที่ว่า "พร้อมทั้งเก็บข้อมูลลงตารางด้วย" อันนี้คืออะไร ไม่เข้าใจครับ
    
    
  คุณตั้งชื??อปุ่มให้เป็นลำดับกัน และอยู่ในรูปแบบเดียวกัน เช่น
btt01, btt02, btt03 .....
ส่วนข้อมูล
สมมติว่าคุณมีข้อมูลอยู่แล้ว 20 รายการ
โดยเก็บข้อมูลไว้ในตารางชื่อ table1 ฟิลด์ชื่อ F1
เมื่อคุณอยากนำข้อมูลทั้ง 20 รายการ ไปวางเป็น caption ของปุ่มแต่ละปุ่มโดยให้วางปุ่มละ 1 รายการ (ซึ่งมันลงตัวพอดี มีปุ่ม20 = มีข้อมูล20) คุณก็เขียนลูปดังนี้
dim Rs as new adodb.recordset
rs.open "Select F1 From Table1", Currentproject.connection, 1
do while not rs.eof
me("btt" & format(rs.absoluteposition,"00")).caption = rs(0)
rs.movenext
loop
rs.close
set rs=nothing
------------------
ส่วนคำถามต่อ ที่ว่า "พร้อมทั้งเก็บข้อมูลลงตารางด้วย" อันนี้คืออะไร ไม่เข้าใจครับ
        
    6 @R04591    
        
  
      เรียน อ.yeadram
ถ้ารายการมันไม่ลงตัวพอดี มีเพิ่มมีลดเหมือนข้อมูลในตาราง จะสามารถทำได้หรือไม่ครับ เช่นวันนี้มีข้อมูลอยู่ 20 รายการ พอพรุ่งนี้อาจมีการเพิ่มขึ้นอีก หรือมีการลบข้อมูลทำให้ข้อมูลลดลงอีก
"ส่วนคำถามต่อ ที่ว่า "พร้อมทั้งเก็บข้อมูลลงตารางด้วย" อันนี้คืออะไร ไม่เข้าใจครับ " // ข้อมูลใน command button เป็นรหัสสินค้า เมื่อเรากดปุ่มนี้ในฟอร์ม ก็อยากให้นำรหัสสินค้านี้ไปเก็บใน table อื่นๆ
ขอบคุณมากครับ
    
  ถ้ารายการมันไม่ลงตัวพอดี มีเพิ่มมีลดเหมือนข้อมูลในตาราง จะสามารถทำได้หรือไม่ครับ เช่นวันนี้มีข้อมูลอยู่ 20 รายการ พอพรุ่งนี้อาจมีการเพิ่มขึ้นอีก หรือมีการลบข้อมูลทำให้ข้อมูลลดลงอีก
"ส่วนคำถามต่อ ที่ว่า "พร้อมทั้งเก็บข้อมูลลงตารางด้วย" อันนี้คืออะไร ไม่เข้าใจครับ " // ข้อมูลใน command button เป็นรหัสสินค้า เมื่อเรากดปุ่มนี้ในฟอร์ม ก็อยากให้นำรหัสสินค้านี้ไปเก็บใน table อื่นๆ
ขอบคุณมากครับ
        
    7 @R04592    
        
  
      1) สร้างปุ่มไว้ตามจำนวนที่ต้องการ ตั้งชื่อตามลำดับ และให้อยู่ในรูปแบบเดียวกัน btt01, btt02, btt03, ...
2) เปิด recordset ดึงข้อมูลจากตารางมาเก็บไว้ใน ตัวแปร Rs
3) วนลูป เพื่อโปรยข้อมูลลงใน caption ของแต่ละปุ่ม
4) ในลูป ต้องมีการเช็คเงื่อนไขด้วยว่า ถ้าข้อมูลหมด หรือ ถ้าปุ่มครบจำนวนแล้วให้หยุดทำงาน
5) แต่ละปุ่มต้องฝังคำสั่งให้เรียกใช้ฟังก์ชั่น โดยส่งค่าอาร์กิวร์เมนต์เข้าไปในฟังก์ชั่นด้วย (ต้องเขียนขึ้นเอง เช่นเขียนฟังก์ชั่นชื่อ insBttCaption() ให้มีการรับค่าอาร์กิวเมนต์ ชื่อปุ่ม)
สมมติคุณมีปุ่มทั้งหมด 17 ปุ่ม
dim Rs as new adodb.recordset
rs.open "Select F1 From Table1", Currentproject.connection, 1
do while not rs.eof
if rs.absoluteposition > 17 then exit do
me("btt" & format(rs.absoluteposition,"00")).caption = rs(0)
rs.movenext
loop
rs.close
set rs=nothing
ในแต่ละปุ่มให้เปิด dialog คุณสมบัติ ดูที่แท็บ Event
ในช่อง "เมือคลิ๊ก" ให้เขียนว่า =insBttCaption("btt01")
โดยที่ค่าที่อยู่ในเครื่องหมายฟันหนูนั้น ต้องเป็นชื่อของปุ่มนั้นๆ คือถ้าเขียนในปุ่มที่1 ก็ให้ใส่ btt01 ถ้าเขียนในปุ่ม btt02 ก็ให้เขียนว่า btt02
ปล. งานนี้อาจจะลำบากหน่อยถ้ามีหลายปุ่ม ไม่งั้นก็ต้องเขียนฟังก์ชั่นขึ้นมาช่วยงาน (ดูตัวอย่างจากระทู้ถัดไป)
ทีนี้ให้เขียนฟังก์ชั่นฝั้งไว้ในฟอร์มนี้ ดังนี้
Private Function insBttCaption(bttName as string)
dim mData as string
dim sql as string
mData=""
mData = me(bttName).caption
if mData="" then exit function
sql = "Insert into .......... เขียนสเตทเมนต์ให้เอาค่าจาก mData ไปใช้งานตามต้องการ หรือไปเก็บในตารางตามความต้องการของเนื้องาน"
on error resume next
Currentproject.connection.execute sql
End function
    
  2) เปิด recordset ดึงข้อมูลจากตารางมาเก็บไว้ใน ตัวแปร Rs
3) วนลูป เพื่อโปรยข้อมูลลงใน caption ของแต่ละปุ่ม
4) ในลูป ต้องมีการเช็คเงื่อนไขด้วยว่า ถ้าข้อมูลหมด หรือ ถ้าปุ่มครบจำนวนแล้วให้หยุดทำงาน
5) แต่ละปุ่มต้องฝังคำสั่งให้เรียกใช้ฟังก์ชั่น โดยส่งค่าอาร์กิวร์เมนต์เข้าไปในฟังก์ชั่นด้วย (ต้องเขียนขึ้นเอง เช่นเขียนฟังก์ชั่นชื่อ insBttCaption() ให้มีการรับค่าอาร์กิวเมนต์ ชื่อปุ่ม)
สมมติคุณมีปุ่มทั้งหมด 17 ปุ่ม
dim Rs as new adodb.recordset
rs.open "Select F1 From Table1", Currentproject.connection, 1
do while not rs.eof
if rs.absoluteposition > 17 then exit do
me("btt" & format(rs.absoluteposition,"00")).caption = rs(0)
rs.movenext
loop
rs.close
set rs=nothing
ในแต่ละปุ่มให้เปิด dialog คุณสมบัติ ดูที่แท็บ Event
ในช่อง "เมือคลิ๊ก" ให้เขียนว่า =insBttCaption("btt01")
โดยที่ค่าที่อยู่ในเครื่องหมายฟันหนูนั้น ต้องเป็นชื่อของปุ่มนั้นๆ คือถ้าเขียนในปุ่มที่1 ก็ให้ใส่ btt01 ถ้าเขียนในปุ่ม btt02 ก็ให้เขียนว่า btt02
ปล. งานนี้อาจจะลำบากหน่อยถ้ามีหลายปุ่ม ไม่งั้นก็ต้องเขียนฟังก์ชั่นขึ้นมาช่วยงาน (ดูตัวอย่างจากระทู้ถัดไป)
ทีนี้ให้เขียนฟังก์ชั่นฝั้งไว้ในฟอร์มนี้ ดังนี้
Private Function insBttCaption(bttName as string)
dim mData as string
dim sql as string
mData=""
mData = me(bttName).caption
if mData="" then exit function
sql = "Insert into .......... เขียนสเตทเมนต์ให้เอาค่าจาก mData ไปใช้งานตามต้องการ หรือไปเก็บในตารางตามความต้องการของเนื้องาน"
on error resume next
Currentproject.connection.execute sql
End function
        
    8 @R04593    
        
  
      สมมติ ฟอร์มของคุณชื่อ fmAutocap
สมมติ เหล่าปุ่มคำสั่งของคุณ(ที่จะใช้การเปลี่ยน caption) มีชื่อที่ขึ้นต้นด้วย "btt" (ถ้ามีปุ่มปิดฟอร์ม ปุ่มบันทึกข้อมูล ควรตั้งชื่อปุ่มให้ขึ้นต้นด้วยคำอื่นที่ไม่ใช่ btt)
สร้างโมดูลใหม่มาตัวหนึ่ง (จบงานแล้วก็ลบทิ้ง)
เขียนโปรแกรมดังนี้
sub tttt()
dim ctl as control
dim frm as form
set frm =forms("fmAutocap")
for each ctl in frm.controls
if typeof ctl is commandbutton and left(ctl.name,3)="btt" then _
ctl.onclick = "=insBttCaption(" & chr(34) & ctl.name & chr(34) & ")"
next
end sub
1) เปิดฟอร์ม fmAutocap ไว้ในมุมมองออกแบบ
2) วางเคอร์เซอร์ไว้ในโมดูลตัวใหม่นี้ โดยวางไว้ภายใน sub
3) กดปุ่ม F5 บนแป้นคีย์บอร์ด
4) เมื่อมันทำงานเสร็จแล้ว ปิดหรือลบโมดูลนี้ทิ้งได้เลย
    
  สมมติ เหล่าปุ่มคำสั่งของคุณ(ที่จะใช้การเปลี่ยน caption) มีชื่อที่ขึ้นต้นด้วย "btt" (ถ้ามีปุ่มปิดฟอร์ม ปุ่มบันทึกข้อมูล ควรตั้งชื่อปุ่มให้ขึ้นต้นด้วยคำอื่นที่ไม่ใช่ btt)
สร้างโมดูลใหม่มาตัวหนึ่ง (จบงานแล้วก็ลบทิ้ง)
เขียนโปรแกรมดังนี้
sub tttt()
dim ctl as control
dim frm as form
set frm =forms("fmAutocap")
for each ctl in frm.controls
if typeof ctl is commandbutton and left(ctl.name,3)="btt" then _
ctl.onclick = "=insBttCaption(" & chr(34) & ctl.name & chr(34) & ")"
next
end sub
1) เปิดฟอร์ม fmAutocap ไว้ในมุมมองออกแบบ
2) วางเคอร์เซอร์ไว้ในโมดูลตัวใหม่นี้ โดยวางไว้ภายใน sub
3) กดปุ่ม F5 บนแป้นคีย์บอร์ด
4) เมื่อมันทำงานเสร็จแล้ว ปิดหรือลบโมดูลนี้ทิ้งได้เลย
        
    9 @R04597    
        
  
      รบกวน อ.yeadram อีกรอบครับ
ถ้ามีข้อมูลเพิ่มขึ้น ให้ฟอร์มมันสร้างปุ่ม command button เพิ่มขึ้นโดยอัตโนมัติ ได้หรือไม่ครับ คือผมอยากให้ฟอร์มมันสร้างปุ่มให้อัตโนมัติ เท่ากันจำนวนของข้อมูลใน table1
ขอบคุณมากครับ
    
  ถ้ามีข้อมูลเพิ่มขึ้น ให้ฟอร์มมันสร้างปุ่ม command button เพิ่มขึ้นโดยอัตโนมัติ ได้หรือไม่ครับ คือผมอยากให้ฟอร์มมันสร้างปุ่มให้อัตโนมัติ เท่ากันจำนวนของข้อมูลใน table1
ขอบคุณมากครับ
        
    10 @R04598    
        
    
  
  
        
    11 @R04600    
        
  
      ขอบคุณ อ.yeadram มากครับ
ผมลองเข้าไปดูแล้ว แต่ก็ยังงงๆ และมีข้อสงสัยว่า
แล้ว command button มันจะผูกกับ filed itemcode ใน table ได้ยังไงครับ
ขอบคุณมากครับ
    
  ผมลองเข้าไปดูแล้ว แต่ก็ยังงงๆ และมีข้อสงสัยว่า
แล้ว command button มันจะผูกกับ filed itemcode ใน table ได้ยังไงครับ
ขอบคุณมากครับ
        
    12 @R04609    
        
  
      ไม่ทราบว่า พอจะเป็นไปได้บ้างไหมครับ
ขอบคุณมากครับ
    
  ขอบคุณมากครับ
        
    13 @R04613    
        
  
      ไม่ต้องผูก 
ไม่คิดจะผูก
ไม่จำเป็นต้องไปผูกครับ
มันมีฟังก์ชั่นเอาค่าไปเก็บแล้วนี่ครับ ปุ่มกด ไว้ทำหน้าที่ เหมือนตัวติ๊กเลือก แค่นั้นเอง มันไม่ผูกกับอะไรเลยครับ มันทำงานได้แล้ว
    
  ไม่คิดจะผูก
ไม่จำเป็นต้องไปผูกครับ
มันมีฟังก์ชั่นเอาค่าไปเก็บแล้วนี่ครับ ปุ่มกด ไว้ทำหน้าที่ เหมือนตัวติ๊กเลือก แค่นั้นเอง มันไม่ผูกกับอะไรเลยครับ มันทำงานได้แล้ว
        
    14 @R04626    
        
  
      รบกวน อ.yeadram ทำเป็นตัวอย่าง .mdb ให้ดูได้ไหมครับ
ตอนนี้ผมงงมากๆ เลย
ไม่รู้จะเป็นการรบกวน อ.yeadram มากเกินไปหรือเปล่า
ถ้า อ.yeadram ไม่ว่างก็ไม่เป็นไรครับ
ขอบคุณมากครับ
    
  ตอนนี้ผมงงมากๆ เลย
ไม่รู้จะเป็นการรบกวน อ.yeadram มากเกินไปหรือเปล่า
ถ้า อ.yeadram ไม่ว่างก็ไม่เป็นไรครับ
ขอบคุณมากครับ
        
    15 @R04632    
        
  
       A) ดูงานสร้างฟอร์ม สร้างข้อมูลจำลองได้จาก Module1 (ความจริงแล้วเมื่อใช้งานจริง Module1 ต้องลบทิ้ง)
B) ดูผลงานการสร้างและลบคอนโทรล ด้วยการ 1)ปรับเพิ่มหรือลดรายการจาก Table1 ก่อนแล้ว.. 2) กดปุ่ม List Data
C) ดูโค้ดงานของข้อ B ได้จากโค้ดในฟอร์มหลัก มีคอมเมนต์เป็นไกด์ให้แนวคิด อาจนำไปปรับแต่งใช้ตามใจชอบ
D) ดูงานการเพิ่มข้อมูลได้จากโค้ดในฟอร์ม Form1
E) โหลดไฟล์ตัวอย่างได้จากเมล์ accboard gmail ในกลุ่ม "จดหมายร่าง" ชื่อเรื่อง "T01051 : อยากแสดงรายการลงใน command botton"
F) ประเด็นศึกษาที่อาจจะหาได้จากตัวอย่างนี้ ได้แก่
- การสร้างคอนโทรล หรือการลบคอนโทรล ในขณะรันโปรแกรม
- เทคนิคการเขียนโปรแกรมย่อย เพื่อใช้เฉพาะกิจในการสร้างหรือออกแบบฟอร์ม
- เทคนิคการสุ่มสร้างตัวอย่างข้อมูล การ Random เพื่อสมมติข้อมูล
- เทคนิคการออกแบบฟอร์มให้เรียกใช้ฟังก์ชั่นเดียวกัน ในเหตุการณ์คล้ายๆ กัน
- เทคนิคการบังคับ การควบคุม ฟอร์มย่อย
- เทคนิคการสร้างฟอร์มโดยไร้ แหล่งข้อมูล (Unbound control) (เป็นพื้นฐานสำคัญในการเริ่มเรียนรู้การเขียนโปรแกรมด้วย VB)
    
  B) ดูผลงานการสร้างและลบคอนโทรล ด้วยการ 1)ปรับเพิ่มหรือลดรายการจาก Table1 ก่อนแล้ว.. 2) กดปุ่ม List Data
C) ดูโค้ดงานของข้อ B ได้จากโค้ดในฟอร์มหลัก มีคอมเมนต์เป็นไกด์ให้แนวคิด อาจนำไปปรับแต่งใช้ตามใจชอบ
D) ดูงานการเพิ่มข้อมูลได้จากโค้ดในฟอร์ม Form1
E) โหลดไฟล์ตัวอย่างได้จากเมล์ accboard gmail ในกลุ่ม "จดหมายร่าง" ชื่อเรื่อง "T01051 : อยากแสดงรายการลงใน command botton"
F) ประเด็นศึกษาที่อาจจะหาได้จากตัวอย่างนี้ ได้แก่
- การสร้างคอนโทรล หรือการลบคอนโทรล ในขณะรันโปรแกรม
- เทคนิคการเขียนโปรแกรมย่อย เพื่อใช้เฉพาะกิจในการสร้างหรือออกแบบฟอร์ม
- เทคนิคการสุ่มสร้างตัวอย่างข้อมูล การ Random เพื่อสมมติข้อมูล
- เทคนิคการออกแบบฟอร์มให้เรียกใช้ฟังก์ชั่นเดียวกัน ในเหตุการณ์คล้ายๆ กัน
- เทคนิคการบังคับ การควบคุม ฟอร์มย่อย
- เทคนิคการสร้างฟอร์มโดยไร้ แหล่งข้อมูล (Unbound control) (เป็นพื้นฐานสำคัญในการเริ่มเรียนรู้การเขียนโปรแกรมด้วย VB)
        
    16 @R04634    
        
  
      ขอบคุณ อ.yeadram มากครับ    
    
  
        
    17 @R04726    
        
  
      ขอรบกวน อ.yeadram อีกครั้งหนึ่งครับ
Table1(Category )มี field catID, catName
ผมได้ทำแบบ Form1 ที่ อ.yeadram ส่งให้ได้แล้ว แต่ผมยังมี
Table3(Product) มี field ProID, ProName, catID
 
ผมอยากทำแบบนี้ครับ โดยเมื่อมีการกด Comand Button catID ใน Form1 ตัวไหนแล้วให้ไปเปิด table3 นำเอา ProName มาแสดงแทนที่ CatName ใน Command Button โดยอ้างอิงจาก catID ที่เรากด Command Button ก่อนหน้านี่ ครับ
ขอบคุณมากครับ
    
    
  Table1(Category )มี field catID, catName
ผมได้ทำแบบ Form1 ที่ อ.yeadram ส่งให้ได้แล้ว แต่ผมยังมี
Table3(Product) มี field ProID, ProName, catID
ผมอยากทำแบบนี้ครับ โดยเมื่อมีการกด Comand Button catID ใน Form1 ตัวไหนแล้วให้ไปเปิด table3 นำเอา ProName มาแสดงแทนที่ CatName ใน Command Button โดยอ้างอิงจาก catID ที่เรากด Command Button ก่อนหน้านี่ ครับ
ขอบคุณมากครับ
        
    18 @R04734    
        
  
      ก็แก้ไขคำสั่งในฟังก์ชั่นนั่นเลยซิครับ
me(ctlN).caption = Dlookup(.........)
    
  me(ctlN).caption = Dlookup(.........)
        
    19 @R04735    
        
  
      เรียน อ.yeadram
แบบที่ อ.yeadram แนะนำมันจะดึงชื่อมาแสดงได้แค่ ปุ่มเดียว ชื่อเดียว
ผมขอให้รายละเอียดเพิ่มเติมอย่างนี้นะครับ
Table1
catID catName
1001 อาหาร
1002 เครื่องดื่ม
1003 อื่นๆ
อันนี้ผมได้ทำให้แสดงใน command button ใน Form1 ตามตัวอย่างที่ อ. ทำมาให้ดูได้แล้ว
และผมยังมี Table3
proID proName catID
10011 ข้าวผัด 1001
10012 ผัดไทย 1001
10013 ผัดกระเพรา 1001
10021 โค้ก 1002
10022 เป๊บซี่ 1002
10023 เบียร์ 1002
10031 บุหรี่ 1003
10032 ไฟแช็ค 1003
เมื่อเรากด command button อาหาร ใน Form1
ผมก็อยากให้แสดง ข้าวผัด ผัดไทย ผัดกระเพรา
ใน command button 3 ปุ่ม และปุ่มย้อนกลับ(ไปหาหมวดหลัก อาหาร เครื่องดื่ม อื่นๆ)
และพอ command button ก็ให้มันไปเก็บข้อมูลไว้ใน Table2
พอกดปุ่ม เครื่องดื่ม หรือ ปุ่มอื่นๆ ก็ให้ทำงานในลักษณะเดียวกันครับ
ขอบคุณมากครับ
    
  แบบที่ อ.yeadram แนะนำมันจะดึงชื่อมาแสดงได้แค่ ปุ่มเดียว ชื่อเดียว
ผมขอให้รายละเอียดเพิ่มเติมอย่างนี้นะครับ
Table1
catID catName
1001 อาหาร
1002 เครื่องดื่ม
1003 อื่นๆ
อันนี้ผมได้ทำให้แสดงใน command button ใน Form1 ตามตัวอย่างที่ อ. ทำมาให้ดูได้แล้ว
และผมยังมี Table3
proID proName catID
10011 ข้าวผัด 1001
10012 ผัดไทย 1001
10013 ผัดกระเพรา 1001
10021 โค้ก 1002
10022 เป๊บซี่ 1002
10023 เบียร์ 1002
10031 บุหรี่ 1003
10032 ไฟแช็ค 1003
เมื่อเรากด command button อาหาร ใน Form1
ผมก็อยากให้แสดง ข้าวผัด ผัดไทย ผัดกระเพรา
ใน command button 3 ปุ่ม และปุ่มย้อนกลับ(ไปหาหมวดหลัก อาหาร เครื่องดื่ม อื่นๆ)
และพอ command button ก็ให้มันไปเก็บข้อมูลไว้ใน Table2
พอกดปุ่ม เครื่องดื่ม หรือ ปุ่มอื่นๆ ก็ให้ทำงานในลักษณะเดียวกันครับ
ขอบคุณมากครับ
        
    20 @R04736    
        
      
	  
      
    
      เปิดเรคคอร์ดเซ็ตโดยระบุเงื่อนไข ก็เห็นตัวอย่างแล้ว
dim RS
dim sql
sql = "select ..... where....
rs.open sql......
คุณก็เปิด เรคคอร์ดเซ็ต ตารางที่ 3 ขึ้นมา แล้วนับจำนวนเรคคอร์ด ก็ทำให้เห็นแล้ว
rs.recordcount
ทีนี้ก็นับปุ่มในฟอร์ม ถ้าปุ่มในฟอร์มมีเกินจำนวนเรคคอร์ด ก็ลบปุ่มออก
วิธีลบปุ่ม ก็เห็นตัวอย่างแล้ว
ถ้าปุ่มบนฟอร์มมีน้อยกว่าจำนวนเรคคอร์ด ก็เพิ่มปุ่มขึ้นมาให้มันครบ
วิธีเพิ่มปุ่มก็มีตัวอย่างแล้ว
เมื่อจำนวนปุ่ม กับจำนวนเรคคอร์ด เท่ากันแล้ว ก็โปรยข้อมูลลงไป
วิธีวนลูปโปรย caption ก็มีตัวอย่างแล้ว
เมื่อโปรยข้อมูลครบ คุณก็ปิด recordset เคลียร์แรม
ก็เห็นตัวอย่างแล้ว
คุณแค่ต้องแยกออกให้เป็นคนละฟังก์ชั่นกัน
-ฟังก์ชั่นตัวแรก เพื่อโปรยข้อมูลย่อย
-ฟังก์ชั่นตัวสอง เพื่อ Insert ข้อมูล
เวลาโปรยข้อมูล ก็ให้ดูว่า
ปุ่มไหนใช้ข้อมูลจากตารางที่ 1มาเป็นแคปชั่น เวลาตั้งค่าเรียกใช้ฟังก์ชั่นให้คุณเรียกใช้ฟังก์ชั่นแรก
ctl.onclick="=ฟังก์ชั่นแรก"
ส่วนปุ่มไหนที่ใช้ข้อมูลจากตารางที่ 3 มาเป็น caption ก็ให้ตั้งค่าเรียกใช้ฟังก์ชั่นไปเป็นชื่อฟังก์ชั่นตัวสอง
ctl.onclick="=ฟังก์ชั่นตัวสอง"
    
  dim RS
dim sql
sql = "select ..... where....
rs.open sql......
คุณก็เปิด เรคคอร์ดเซ็ต ตารางที่ 3 ขึ้นมา แล้วนับจำนวนเรคคอร์ด ก็ทำให้เห็นแล้ว
rs.recordcount
ทีนี้ก็นับปุ่มในฟอร์ม ถ้าปุ่มในฟอร์มมีเกินจำนวนเรคคอร์ด ก็ลบปุ่มออก
วิธีลบปุ่ม ก็เห็นตัวอย่างแล้ว
ถ้าปุ่มบนฟอร์มมีน้อยกว่าจำนวนเรคคอร์ด ก็เพิ่มปุ่มขึ้นมาให้มันครบ
วิธีเพิ่มปุ่มก็มีตัวอย่างแล้ว
เมื่อจำนวนปุ่ม กับจำนวนเรคคอร์ด เท่ากันแล้ว ก็โปรยข้อมูลลงไป
วิธีวนลูปโปรย caption ก็มีตัวอย่างแล้ว
เมื่อโปรยข้อมูลครบ คุณก็ปิด recordset เคลียร์แรม
ก็เห็นตัวอย่างแล้ว
คุณแค่ต้องแยกออกให้เป็นคนละฟังก์ชั่นกัน
-ฟังก์ชั่นตัวแรก เพื่อโปรยข้อมูลย่อย
-ฟังก์ชั่นตัวสอง เพื่อ Insert ข้อมูล
เวลาโปรยข้อมูล ก็ให้ดูว่า
ปุ่มไหนใช้ข้อมูลจากตารางที่ 1มาเป็นแคปชั่น เวลาตั้งค่าเรียกใช้ฟังก์ชั่นให้คุณเรียกใช้ฟังก์ชั่นแรก
ctl.onclick="=ฟังก์ชั่นแรก"
ส่วนปุ่มไหนที่ใช้ข้อมูลจากตารางที่ 3 มาเป็น caption ก็ให้ตั้งค่าเรียกใช้ฟังก์ชั่นไปเป็นชื่อฟังก์ชั่นตัวสอง
ctl.onclick="=ฟังก์ชั่นตัวสอง"
      Time: 0.0645s
    
      
		