แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Jiw Jewel

หน้า: 1 2 [3]
37
นี่คือตัวอย่างที่่ทำไปค่ะ

UPDATE [proAssess Detail_Temp] INNER JOIN [PRICE WITH PRO NORMAL] ON [proAssess Detail_Temp].Product_ID = [PRICE WITH PRO NORMAL].SKU_ID SET [proAssess Detail_Temp].[Ex-vat] = [PRICE WITH PRO NORMAL].OPERAND, [proAssess Detail_Temp].[In-vat] = [PRICE WITH PRO NORMAL].IN_VAT, [proAssess Detail_Temp].Pro_normal = [PRICE WITH PRO NORMAL].REV_IN_VAT, [proAssess Detail_Temp].Cost = [PRICE WITH PRO NORMAL].ITEM_COST;


[PRICE WITH PRO NORMAL ] คือ query ที่มาจาก view ใน oracle ค่ะ
 
[proAssess Detail_Temp] คือตารางที่ เราต้องการอัปเดตข้อมูลลงไปค่ะ



ซึ่งเราลองสร้างตารางใหม่แล้ว query โดยใช้คำสั่งนี้แล้วค่ะ มันทำได้ปกติข้อมูลอัปเดตถูกต้อง

หรือเรากำลังคิดว่าเราจะลองquery แล้วสร้างตารางใหม่ดู แล้วค่อยเอาไปอัปเดต จากนั้นลบทิ้งดีไหมคะ

38
มาอัพเดตนะคะ หลังจากดูคอมเมนต์แล้วไปลองทำมา คือติดปัญหาบางส่วนค่ะ ตารางที่มาจากODBC ไม่่ม่มารถนำมาใช้ในการอัปเดตค่ะ พอจะมีวิธีแก้ไหมคะ คือสิ่งที่ต้องการคือให้ราคามันอัปเดตตามรหัสสินค้าค่ะ แต่ในตัว Oracle รหัสสินค้านั้นมีซ้ำกันเยอะมากค่ะ เลยต้องการเสร้างคิวรี่กรองค่ะ แต่พอสร้างคิวรี่แล้วไม่มามารถอัปเดตได้ค่ะ โปรแกรมแจ้ง ว่า "Operation must use an updateable query" ซึ่งไม่สามารถทำได้ค่ะ เพราะเราไม่สามารถแก้ไขข้อมูลใน oracle ได้ค่ะ พอมีแนวทางอื่นใดไหมคะ รบกวนด้วยค่ะ

39
คือเราไม่รู้วิธีทำค่ะ เคยตั้งกระทูไปเมื่อวานแล้วได้คำแนะนำมาค่ะ เมื่อวานลองแล้วได้ผลดีค่ะตอนข้อมูลไม่เยอะ แต่พอข้อมูลเยอะเข้าเหมือนว่ามันจะช้ามากค่ะ ถ้ายังไงรบกวนแนะนำวิธีทำได้ไหมคะ เมื่อกี้เราไปลองแล้ว แต่แบลงค์มากเลยค่ะ

40
ทำโปรแกรมหาค่ามาแทนโดยการใช้ loop ค่ะ ซึ่งพอดรากดปุ่มใน main form โปรแกรมจะเริ่มมทำงานค่ะ     ตารางเป็น subform อยู่อีกทีค่ะ ไม่ทราบว่าเราทำผิดหลักอะไรไปหรือเปล่าคะ  ส่วนด้านส่างคือcodeค่ะ

Private Sub update_data_Click()
'เป็นตัวแปลเก็บ ID เอกสารค่ะ (primary key)
fff = Me.proAssess_ID

'เงื่อนไขให้เข้าทำหรือไม่ทำการวนลูปค่ะ
If Not IsNull(Me.Esub_proAssess_Details) Then
Me![Esub proAssess Details].SetFocus

'เงื่อนไขการออกจากลูปค่ะ
Do Until IsNull(Me.Esub_proAssess_Details!Product_ID)
p_id = Me.Esub_proAssess_Details!Product_ID

'คำสังให้หาค่าจากในoracle ลงมาแทนค่าในตารางค่ะ
p_cost = DLookup("ITEM_COST", "[PRICE WITH PRO NORMAL]", "SKU_ID ='" & p_id & "'")
Detail].proRequest_ID)='" & fff & "') AND (([proAssess Detail].Product_ID)='" & p_id & "'));"
Me.Esub_proAssess_Details![Ex-vat] = DLookup("OPERAND", "[PRICE WITH PRO NORMAL]", "SKU_ID ='" & p_id & "'")
Me.Esub_proAssess_Details![In-vat] = DLookup("IN_VAT", "[PRICE WITH PRO NORMAL]", "SKU_ID ='" & p_id & "'")
Me.Esub_proAssess_Details![Pro_normal] = DLookup("REV_IN_VAT", "[PRICE WITH PRO NORMAL]", "SKU_ID ='" & p_id & "'")
DoCmd.GoToRecord , , acNext
Loop
End If
End Sub


ปล.รบกวนด้วยนะคะ

41
ขอบคุณสำหรับคำตอบและการช่วยเหลือด้วยนะคะ

42
ขอบคุณ PNR มากค่ะ งมมาหลายวัน แต่อยากสอบถามเพิ่มอีกนิดหน่อยค่ะ
 
ถ้าใช้วิธีการนี้ที่คุณ PNR บอก มันจะไม่สงผลต่อความเร็วของโปรแกรมใช่ไหมคะ คือข้อมูลที่ต้องดึงเป็นข้อมูลที่ดึงมาจาก odbc ค่ะ แล้วการค้นหามันจะช้าไหมคะ เพราะข้อมูลค่อนข้างเยอะ แล้วการอัปเดตทีหนึ่งอาจมากถึง 30 รายการค่ะ

43
คือว่าสิ่งที่ทำตอนนี้คือ การดึงข้อมูลจากในฐานข้อมูลอื่นมาคำนวณ แล้วบันทึกข้อมูลลงในตารางของเครื่องเราค่ะ

แต่ทีนี้

มันจะมีบางกรณีที่ทำค้างไว้แล้วบันทึกไปก่อน อีกวันก็มาทำต่อ แต่ข้อมูลนั้นคือไม่อัปเดตค่ะ

เช่น เมื่อวานสินค้า AA ราคาขาย 30 บาท
แต่ พอมาวันนี้ข้อมูลมีการอัปเดต สินค้า AA ราคาขาย 40 แต่เมื่อเปิดขึึ่นมาทำต่อ สินค้าAA ก็ยังมีราคาขายอันเดิม จะมีวิธีไหนทำให้ข้อมูลมีการการอัปเดตบ้างคะ โดยที่จะอัปเดตเฉพาะสินค้าที่มีสถานะกำลังทำเนินการ

44
อยากทราบว่ามี function ไหนบ้างใน vba ที่ใช้กับ view แบบ datasheet ได้ค่ะ

รบกวนด้วยนะคะ

45
ทำได้แล้วค่ะ ขอบคุณมากนะคะ  :love:
งมมา2 วันแล้วค่ะ

46
ตอบคำถามนะคะ

การระบุ ราคาลด และรหัสสินค้าทำอย่างไร


จริงๆก่อนหน้ามีมีฟอร์มให้กรอกค่ะก็คือให้ลูกค้าเสนอราคาโดยบอกเป็นชื่อสินค้าและราคาที่ต้องการ เรียกว่าใบเสนอราคาน่าจะถูกมากกว่าค่ะ แล้วพนักงานจะเป็นคนเอาใบนั้นมากกรอกรายละเอียดต่างๆ เช่น รหัสสินค้า ราคาที่ลูกค้าเสนอ ที่อยู่ลูกค้า อะไรพวกนี้เป็นต้นค่ะ ทีนี้พอพนักงานเรากรอกพวกนี้เสร็จในฟอร์ม ก็จะปริ้นรายงานออกมาแล้วไปให้หัวหน้าพิจารณาว่าเขาโอเคกับราคาที่ลูกค้าเสนอมาไหม ซึ่งเขาต้องการดูข้อมูลย้อนหลังเพื่อเรียบเทียบ ดังนั้นมันจึงต้องมีใบที่ 1 ว่ามีรายการอะไรบ้าง และใบที่2 ต้องบอกได้ว่าในรายการสินค้าที่อยู่ในใบ 1 เคยถูกเสนอราคาไปเท่าไหร่บ้างค่ะ


ส่วนตัวตอนนี้แยกกัน 2 report ได้ค่ะ แต่เอามารวมกันไม่ได้ ลองเอามารวมกัน(แบบ sub report) มันก็โชว์ข้อมูลทั้งหมดที่ถูกจัดกลุ่มไว้ ไม่ได้โชว์ตามรายการสินค้าปัจจุบันที่เลือกค่ะ



47
ขอบคุณ คุณ PNR ค่ะ ขอตอบคำถามนะคะ

1.
การเลือก P4 และ P5 ไม่ใช้แบบตายตัวค่ะ ถ้าอนาคตมีรายการมากกว่านั้นแล้วมีการเสนอราคาลด ก็จะโชว์ตัวอื่นด้วยค่ะ (วัตถุประสงค์จริงๆคือต้องการเปรียบเทียบราคาค่ะ จะได้รู้ว่าควรลดไหม แล้วถ้าลด ควรลดได้ไม่ต่ำกว่าเท่าไหล่ คือเปรียบเทียบย้อนหลังค่ะ)

2.
ส่วนการลดส่วนลดนั้นที่ไม่ใช่Listboox เพราะว่าราคาลดที่เสนอนั้นแล้วแต่ลูกค้าค่ะ ไม่ได้ เป็นตายตัวแบบ 10% 15% 20% แต่คิดที่จำนวนบาทแทนค่ะ

48
สวัสดีค่ะ มีเรื่องสอบถามค่ะ คือตอนนี้ต้องการจัดกลุ่มข้อมูลค่ะ ขออธิบายก่อนว่า เราเก็บข้อมูลที่มีเลขที่ใบเสร็จไม่ซ้ำค่ะ แต่(ราคาลด) ซ้ำได้ [**** ราคาลดคือ ราคาขายจริงเวลาลูกค้าเสนอมาน่ะค่ะ แต่ก็มีที่เก็บราคาจริงอยู่] สมมติว่าลูกค้าซื้อสินค้า 10 ชิ้น รหัส P1-P10 แล้วมี P5 กับ P9 ที่ลูกค้าเสนอราคาให้ลด เราก็เลยอยากจะรู้ว่าใน P5 และ P9 มีราคาไหนบ้างที่เคยเสนอไปค่ะ แต่ถ้าราคาปกติไม่ลดก็จะไม่แสดงรายงานที่หน้า 2 ค่ะ

table ที่เก็บก็จะประมาณนี้ค่ะ
รหัสใบสั่งซื้อ|รหัสสินค้า|ราคาปกติ|ราคาลด
V001       | P1       |25       |25
V001       | P2       |20       |15
V001       | P3       |15       |15
V001       | P4       |40       |25
V001       | P5       |25       |20
V002       | P4       |40       |35
V002       | P5       |25       |20
V003       | P1       |25       |25
V003       | P4       |40       |30
V003       | P5       |25       |15


รายงานก็จะประมาณนี้ค่ะ


ใบเสร็จเลขที่ V001
เอกสารหน้าที่ 1

รายการสินค้า
รหัสใบสั่งซื้อ|รหัสสินค้า|ราคาปกติ|ราคาลด
V001       | P1       |25       |25
V001       | P2       |20       |15
V001       | P3       |15       |15
V001       | P4       |30       |25
V001       | P5       |25       |20


เอกสารหน้าที่ 2

รหัสสินค้า    P5    ราคาลด 20  ของใบเสร็จเลขที่ V001  (head group)
รหัสใบสั่งซื้อ|ราคาลด    (details)
V003       | 20
V003       | 15

รหัสสินค้า    P4    ราคาลด 25  ของใบเสร็จเลขที่ V001  (head group)
รหัสใบสั่งซื้อ|ราคาลด    (details)
V004       | 35
V003       | 30

49
สวัสดีค่ะ พอดีเป็นมือใหม่เลยอยากจะสอบถามผู้รู้หน่อยค่ะว่า ในdatasheet มันจะมีฟังก์ชั่น Totals ให้เราใช้เช่นพวก sum count อะไรพวกนี้ค่ะ แล้วอยากได้เพิ่มค่ะ คือต้องการให้ sum ของ column 1 และ column 2 มาหารกันค่ะ สามารถทำได้ไหมคะ แล้วถ้าไม่ได้มีแนวทางไหนบ้างคะ ขอบคุณค่ะ

[/img]

50
ห้อง MS Access / สอบถามเรื่องDCount ค่ะ
« เมื่อ: 10 ก.ย. 63 , 16:48:56 »
คือจะทำการกรอกข้อมูลแล้วมีกล่องข้อความบอกว่าซ้ำกัน โดยมีเงื่อนไขว่า 1.ราคาตรงกับที่มีอยู่ และ 2.ช่วงเวลาต้องเป็นช่วงเวลาเดียวกันค่ะ

รบกวนด้วยนะคะ เพิ่งหัดทำค่ะ  ส่วนข้างล่างคือcode ค่ะ

Pro_pro--> ชื่อฟิลด์ก็บราคา ตรงกับเงื่อนไขที่ 1 ค่ะ
proReq_start_date--> ชื่อฟิลด์ก็บราคา ตรงกับเงื่อนไขที่ 2 ค่ะ


Dim com_price

com_price = DCount("[Pro_pro]", "qry_Assess with details", "([Pro_pro]= " & Pro_pro & ") And ([proReq_start_date]=" & Me.proReq_start_date & ")")

If com_price > 0 Then
MsgBox "คุณมีราคานี้อยู่แล้ว"
End If


ปล. code ไม่มี error ค่ะ แต่ค่าที่ได้คือ 0 เลยไม่เข้าเงื่อนไขค่ะ แต่แก้ยังไงก็ไม่ได้

หน้า: 1 2 [3]