ขอ code เลือก กรอกรายการสินค้าจากรหัส หรือเป็น text field


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

28 ก.ย. 62 , 21:36:10
อ่าน 1612 ครั้ง

kunlek

เปิดฟอร์มบันทึกขายสินค้า ในส่วน details ของ รหัสสินค้า   ชื่อสินค้า ทำ combo boxดึงรหัสสินค้าจากตารางสินค้า แต่ก็มีบางบรรทัดใน detail สินค้า เราต้องการพิมพ์ข้อความ อะไรก็ได้ ไม่เกี่ยวกับชื่อสินค้า หรือตารางสินค้า จะเขียน code อย่างไร หรือมีเทคนิคอย่างไรครับ

 

30 ก.ย. 62 , 10:07:37
ตอบกลับ #1

kunlek

กรณีนี้ ถ้าผมสร้าง text field(other_detail) วางทับซ้อน ฟิลด์รายการสินค้า(detail_goods) และ visible=no ไว้  เมื่อเราจะใช้ text fieldนี้ เราก็จะ double click, text field ก็จะ visible และให้ field รายการสินค้า visible=no ผมจะเขียน codeได้้แบบไหนครับ อจ.

field            รายการสินค้า        text field(ที่ซ่อนไว้)
name        detail_goods           other_detail

 

30 ก.ย. 62 , 11:10:48
ตอบกลับ #2

PNR

กรณีนี้ ถ้าผมสร้าง text field(other_detail) วางทับซ้อน ฟิลด์รายการสินค้า(detail_goods) และ visible=no ไว้  เมื่อเราจะใช้ text fieldนี้ เราก็จะ double click, text field ก็จะ visible และให้ field รายการสินค้า visible=no ผมจะเขียน codeได้้แบบไหนครับ อจ.

field            รายการสินค้า        text field(ที่ซ่อนไว้)
name        detail_goods           other_detail

ใช้ ColumnHidden ก็ได้ครับ

ถ้าบนฟอร์ม

โค๊ด: [Select]
Private Sub detail_goods_DblClick(Cancel As Integer)
Me.other_detail.ColumnHidden = False
Me.other_detail.SetFocus
Me.detail_goods.ColumnHidden = true
End Sub

Private Sub Form_Load()
Me.detail_goods.ColumnHidden = False
Me.other_detail.ColumnHidden = True
End Sub


ถ้าทำบนรายงาน

โค๊ด: [Select]
Private Sub detail_goods_DblClick(Cancel As Integer)
Me.other_detail.Visible = True
Me.other_detail.SetFocus
Me.detail_goods.Visible = False
End Sub

Private Sub Report_Load()
Me.detail_goods.Visible = True
Me.other_detail.Visible = False
End Sub
« แก้ไขครั้งสุดท้าย: 30 ก.ย. 62 , 11:28:54 โดย PNR »
Time to stop for me  :dizzy:
 

30 ก.ย. 62 , 13:45:37
ตอบกลับ #3

kunlek

ผมเอา code ไปวางที่ on dbl click ที่ ฟิลด์ detail_goods
มี error ตามนี้ครับ  can't move the focus to the control other_detail ครับ
ขอเพิ่มข้อมูลที่ ฟอร์ม porperties

field                    รายการสินค้า        text field(ที่ซ่อนไว้)
name                  detail_goods           other_detail
control source      good_id                 other_detail

 

30 ก.ย. 62 , 13:56:05
ตอบกลับ #4

PNR

ลองดูตัวอย่างนี้คับ
Time to stop for me  :dizzy:
 

30 ก.ย. 62 , 14:36:55
ตอบกลับ #5

kunlek

แบบที่ท่านแนะนำครั้งแรก ใช้ได้แล้วครับ  แต่มันยังติดตรงที่ว่า ถ้าจะให้ว่าหลังจากบันทึกข้อมูลใน field other_detail แล้ว ผมจะต้องป้อนข้อมูลบรรทัดถัดไป อยากจะให้คืนสภาพ ก่อน dbl click ที่ฟิลด์ หรือแบบว่าสลับไปสลับมาได้ ตัวอย่างใหม่ที่ท่านแนบมาจะนำไปศึกษาดูว่าดัดแปลงที่ผมต้องการได้หรือไม่ ขอบพระคุณอย่างสูงครับ

 

30 ก.ย. 62 , 14:42:05
ตอบกลับ #6

kunlek

อีกนิดครับ เดิม field other_detail จะอยู่หลัง field detail_goods แและ visible=no  เมื่อ  dbl click ที่field detail_goods ให้ other_detail อยู่หน้าแทน และ visible=yes  ส่วน field detail_goods ไปหลบแทน other_detail  สลับสลับมาครับ(ที่ table ผมมี field ลองรับ 2 data ครับ)

 

30 ก.ย. 62 , 15:31:00
ตอบกลับ #7

PNR

อีกนิดครับ เดิม field other_detail จะอยู่หลัง field detail_goods แและ visible=no  เมื่อ  dbl click ที่field detail_goods ให้ other_detail อยู่หน้าแทน และ visible=yes  ส่วน field detail_goods ไปหลบแทน other_detail  สลับสลับมาครับ(ที่ table ผมมี field ลองรับ 2 data ครับ)

สลับตัว Control ด้วยใช่ไหมคับ เดี่ยวลองดูก่อน
« แก้ไขครั้งสุดท้าย: 30 ก.ย. 62 , 15:39:09 โดย PNR »
Time to stop for me  :dizzy:
 

30 ก.ย. 62 , 22:10:09
ตอบกลับ #8

kunlek

แจ้งปัญหาเพิ่มเติม เมื่อ dbl click ที่ detail_goods ผลที่ได้รับเป็นไปตามที่ต้องการ แต่ถ้าต้องการ switching กลับๆไม่ได้  และสมมติว่าป้อนรายการขายสินค้าใน subform ไปได้ 2 รายการ เมื่อถึงรายการที่ 3 dbl click เพื่อต้องการเปลี่ยน ได้เกิดผลตามต้องการ  แต่ field detail_goods ของ รายการที่ 1-2 เปลี่ยนไปด้วย (ไม่ต้องการให้เปลี่ยน)

 

01 ต.ค. 62 , 09:15:59
ตอบกลับ #9

Su

อีกทางเลือก
 1 กำหนดtextbox  detail_goods และ other_detail ให้มีความกว้างและสูงเท่ากัน
 2 กำหนดtextbox other_detail recordsource =other_detail และ textbox detail_goods recordsource =detail_goods
 3 textbox other_detail คลิกขวา กำหนดตำแหน่ง ย้ายไปหลังสุด
 4 texbox detail_goods กำหนด porperty  เหตุการณ์ onclick หรือ DblClick : me.other_detail.setfocus
 5 ว่าง textbox  detail_goods และ other_detail ซ้อนทับกันให้พอดี
 เปิด form ทดสอบลอง click หรือ DblClick กรอกข้อมูล
 เป็นอีกทางเลือกแต่ไม่รู้ว่าตรงตามที่ต้องการหรือเปล่านะครับ

 

01 ต.ค. 62 , 11:53:28
ตอบกลับ #10

kunlek

เรียนคุณ SU หมายถึงให้เปลี่ยน control source  แล้ว name ไม่ต้องเปลี่ยน  และ code ที่คุณ PNR  ยังใช้หรือไม่ครับ

 

01 ต.ค. 62 , 11:57:48
ตอบกลับ #11

Su

code ของ อ. PNR  ไม่ต้องใช้ control source ยังเหมือนเดิม name ยังเหมือนเดิมครับ

 

01 ต.ค. 62 , 12:28:29
ตอบกลับ #12

kunlek

มี error ครับ runtime error 2110    can't move the focus to the control other_detail  ถามเพิ่ม ต้อง เอาเรื่อง visible ออกไหม ให้เป็นyes ตาม  default หรือเปล่าครับ

 

01 ต.ค. 62 , 13:07:54
ตอบกลับ #13

Su

ไฟล์ตัวอย่าง

 

02 ต.ค. 62 , 08:55:47
ตอบกลับ #14

kunlek

เรียน อจ ทั้ง 2 ่ท่าน ผมขอต่อยอดจาก อจ.PNR เมื่อวันที่ 30/09/62 จบที่ other_detail รับข้อมูลได้แล้ว แต่ยังไม่สามารถ switching กลับไปให้ detail_goods เป็น default ของ entry record นี้ ต้องจบการบันทึกข้อมูลในฟอร์ม เมื่อเปิดใหม่จึงได้ default เดิม(เป็นที่สุดของกระทู้นี้)........  ถ้าเราจะเขียน code ไว้ที่ even ON ENTER ของ field other_detail หรือ even ที่ เมื่อป้อน entry ใหม่  code นั้นจะเป็นอย่างไรครับ อจ. ผมไปไม่ถึงจริงๆๆครับ

 

02 ต.ค. 62 , 09:12:31
ตอบกลับ #15

PNR

ขอดูโค้ดตอนนี้หน่อยครับ

ความต้องการต่อไปคือ เมื่อใส่ข้อมูลใน Otherdetail แล้ว พอกด Enter ให้ แสดง detail_goods เหมือนเดิมใช่หรือไม่
Time to stop for me  :dizzy:
 

02 ต.ค. 62 , 10:08:54
ตอบกลับ #16

kunlek

ใช่ครับ กด enter ให้ กลับเป็น detail_goods
code ที่ใช้ตอนนี้เป็นของ อจ
Private Sub detail_goods_DblClick(Cancel As Integer)
Me.other_detail.Visible = True
Me.other_detail.SetFocus
Me.detail_goods.Visible = False
End Sub

Private Sub Report_Load()
Me.detail_goods.Visible = True
Me.other_detail.Visible = False
End Sub

 

02 ต.ค. 62 , 10:26:17
ตอบกลับ #17

PNR

เพิ่มเป็น

Private Sub detail_goods_DblClick(Cancel As Integer)
Me.other_detail.Visible = True
Me.other_detail.SetFocus
Me.detail_goods.Visible = False

End Sub

Private Sub Form_Load()
Me.other_detail.Visible = False
Me.detail_goods.Visible = True
End Sub

Private Sub other_detail_Exit(Cancel As Integer)
Me.detail_goods.Visible = True
Me.detail_goods.SetFocus
Me.other_detail.Visible = False
End Sub

เวลาเรา Enter มันจะกลับไปที่ textbox detail_goods
Time to stop for me  :dizzy:
 


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5