แสดงกระทู้

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 - PNR

หน้า: 1 ... 8 9 10 [11] 12 13 14 ... 32
181
Cabinet - ตู้
Shelf - ชั้น
Seq - ลำดับ

รันเลขตู้นั้นมีแค่ 1/1/1 1/1/2 1/1/3 ไปจนถึง 1/1/N ใช่ไหม
ไม่มี 1/2/1  1/2/2  หรือ 3/1/1 ใช่ไหมครับ


โพสต์นี้ได้รับคำขอบคุณจาก: Eik Q Sang

182
ลองดูตัวอย่างนี้ครับ
ไม่แน่ใจว่าต้องการแบบนี้ไหมนะครับ
เป็นการสร้าง Head Group
และเขียนโค้ดสร้างการหาผลรวมภายในแต่ละหน้า
If PrintCount = 1 Then curTotal = curTotal + Me.ฟิลล์จำนวนเงิน

สามารถดูผลลัพท์ได้ในมุมมองเหมือนพิมพ์ (Print Preview)
โพสต์นี้ได้รับคำขอบคุณจาก: Normunu

183
อ้ออ เข้าใจแล้วค่ะ แต่ว่าไม่เกี่ยวกันค่ะ เพราะว่า ตัวโค้ดมีเท่านั้นเลยค่ะ ลองสร้าง textbox อีกตัวขึ้นมาแล้วใส่ค่าที่ทศนิยมเยอะๆลงไป ไม่เกิด error ค่ะ ถ้าเป็นเป็น textbox ตัวอื่น แต่ถึงอย่างนั้นก็ไม่รู้ว่าจะพลิกแพลงแก้ปัญหาอย่างไรดีค่ะ
ต้องดูที่ textbox นั้นแล้วละครับ ว่า มีการคำนวนแบบไหน ตั้งค่าไว้แบบไหน
type mismatch คือ ประเภทหรือชนิดข้อมูลไม่เหมือนกัน

1.Msgbox backmargin_sum_percent
   ต้องการดูว่าค่าเป็นแบบไหน
2.ถ้ากำหนดตัวแปรมาเก็บค่าไว้แล้ว นำไปอัพเดทได้ไหมเช่น
โค๊ด: [Select]
Dim strAAA As String
strAAA = Me.aaa
CurrentDb.Execute "UPDATE [proAssess Detail] SET [proAssess Detail].backmargin_sum_percent = " & strAAA & "  WHERE ((([proAssess Detail].proRequest_ID)='" & Me.proRequest_ID & "'))"

3.ลองวิธีแปลงค่าก่อนนำไปอัพเดทในตารางเช่น
Val(Replace(backmargin_sum_percent.Value,"%",""))

4.ผมลองสร้างคิวรี่ SQL ประมาณนี้
โค๊ด: [Select]
CurrentDb.Execute "UPDATE [proAssess Detail] SET [proAssess Detail].backmargin_sum_percent = " & Val(Replace([Forms]![Mainform].[SubForm].[Form]![aaa], "%", "")) & " WHERE [proAssess Detail].proRequest_ID = '" & [Forms]![Mainform].[SubForm].[Form]![proRequest_ID] & "'"

โพสต์นี้ได้รับคำขอบคุณจาก: Jiw Jewel

184
คือปกติถ้าอยู่ในซัพฟอร์ม จะอ้างอิงแบบนี้
[Forms]![ชื่อฟอร์มหลัก].[ชื่อ subform].Form![ชื่อ textbox]
โพสต์นี้ได้รับคำขอบคุณจาก: Jiw Jewel

185
ตอบคำถามนะคะ
1. datatype เป็น double format เป็น percent กำหนด จุดทศนิยม 2 ตำแหน่งค่ะ
2.form ที่คำนวนอยู่ในฟอร์มย่อยอีกทีค่ะ
3. ลองแล้วค่ะ ยังขึ้นเหมือนเดิมค่ะ

datatype ของ proRequest_ID ละครับเป็นแบบไหน จากโค้ดถ้าเป็น text ก็ถูกแต่ถ้าเป็น number ต้องตัด ' ออกไป
ถ้ายังไม่ได้ทักไลน์มาได้เลยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Jiw Jewel

186
1.backmargin_sum_percent ในตาราง Datatype เป็นอะไรครับ ถ้าเป็น text ไม่น่าจะมีปัญหา

2.form ที่คำนวนอยู่ในฟอร์มย่อยไหมครับ

3.ตัดทศนิยมให้เหลือ 2 ตำแหน่ง
   CurrentDb.Execute "UPDATE [proAssess Detail] SET [proAssess Detail].backmargin_sum_percent = " & Format(aaa, "#.##") & "  WHERE ((([proAssess Detail].proRequest_ID)='" & Me.proRequest_ID & "'))"

โพสต์นี้ได้รับคำขอบคุณจาก: Jiw Jewel

187
ห๊ะ! ไปเห็นได้ไง
อ๊ะ! ผมก็ทำงานที่นี้ไงครับ  :miao:
โพสต์นี้ได้รับคำขอบคุณจาก: OddyWriter, noi

188
อุ๊ย! อุตส่าห์แอบดูเงียบๆ อยู่มุมห้อง :smile:
แอบไปเห็นโปรแกรมอาจารย์ที่ CCU รพ.สุราษ ด้วยนะครับอาจารย์  :cool:
โปรเจคใหญ่ผมไม่มีเวลาทำแน่ๆ ครับ ผมทำของหน่วยงานอยู่ด้วย
ต้องระดับอาจารย์แล้วครับ
 :miao:
โพสต์นี้ได้รับคำขอบคุณจาก: noi

189
เรียนคุณ NOI
ดูแล้วเป็นโปรเจคใหญ่ ผมเลยแนะนำให้ติดต่ออาจารย์ OddyWriter ตามลิ้งที่ผมส่งให้ในไลน์แล้วนะครับ
ส่วนเรื่องการช่วยแก้ไขปัญหาต่างๆ ผมยินดีช่วยเหลือ

หมายเหตุ
ตอนแรกผมนึกว่าเป็นโปรเจคเล็กๆ เลยอยากจะช่วยทำให้ฟรี
แต่ดูแล้ว ต้องระดับอาจารย์ Oddy แล้วละครับ
 :shout:
โพสต์นี้ได้รับคำขอบคุณจาก: noi

190
ห้อง MS Access / : ค้นหาสินค้าไม่พบ
« เมื่อ: 14 ม.ค. 64 , 15:40:29 »
รหัสสินค้าเรามั่นใจไหมครับว่า ไม่มีช่องว่างระหว่างรหัสสินค้า สมมุติเครื่องหมาย _ แทนช่องว่างของรหัสช่องว่างนี้อาจจะเกิดจากการกด Back Space หรือเคาะคานเว้นวรรค ครับ
รหัสปกติ 1004000300800
เป็นไปได้ไหมบางครั้งรหัสอาจจะเป็น _1004000300800  หรือ 1004000300800_ หรือ _1004000300800_
ทำให้เวลาเปรียบเทียบรหัสในการค้นหาไม่เจอ
สามารถใช้ Trim() ในการตัดช่องว่าง
โพสต์นี้ได้รับคำขอบคุณจาก: abc def

191
แอด Email: มาคุยรายละเอียดกันครับ
pinnarong83@gmail.com
โพสต์นี้ได้รับคำขอบคุณจาก: noi

192
พรุ่งนี้นะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: oraaoi

193
OShiftID ในตาราง T_OT ชนิดข้อมูลเป็นแบบไหนครับ
ShiftID ในตาราง T_Shift ชนิดข้อมูลเป็นแบบไหน

สามารถ Remote ไปเช็คได้หรือไม่
โพสต์นี้ได้รับคำขอบคุณจาก: oraaoi

194
RelationShip เช็คการกำหนด Primary Key
ข้อความแจ้งเตือนแบบนี้เกิดจาก การกำหนดความสัมพันธ์กันแล้ว ไม่ได้สร้างข้อมูลในฟิลล์ PK ให้ตารางหลักก่อน
เช่น เมื่อต้องการเพิ่มข้อมูลให้ ตารางที่ 2 ตารางแรกต้องมี ข้อมูลในฟิลล์ PK ด้วยเหมือนกันมันถึงจะยอมให้ผ่านได้


เช่น ท่านจะเพิ่มข้อมูลตารางที่ 2 ID ก็ต้องมีใน ตารางที่ 1 ด้วยครับ

1.เพื่อความชัดเจน ให้แสดงรูป การกำหนด Relationship มาดู
2.แสดงการกำหนด Record Source ในฟอร์มมาดู


โพสต์นี้ได้รับคำขอบคุณจาก: oraaoi

195
ในคิวรี่ คงต้องเขียนฟังชั่นนะครับ แล้วมาเรียกใช้ในคิวรี่แต่ผมไม่เคยลอง รออาจารย์ท่านอื่นๆ


แต่ถ้าการสร้างข้องมูลไปวางในตาราง อีกอันนั้นผมใช้แบบนี้ครับ
ตารางหลักชื่อ MyTable
มีฟิลล์ ID,ITEM (ตามตัวอย่าง)
--------------------------------------------------
มีตารางแสดงผลชื่อ TblResult
มีฟิลล์ ID,ITEM (ตามตัวอย่าง)
โค้ด

โค๊ด: [Select]
Private Sub concatenateString()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim rstOut As DAO.Recordset
Dim strID As String
Dim strITEM As String
Set db = CurrentDb()
Set rst = db.OpenRecordset("SELECT Mytable.ID, Mytable.ITEM FROM Mytable GROUP BY Mytable.ID, Mytable.ITEM ORDER BY Mytable.ID, Mytable.ITEM DESC;", dbOpenDynaset)

If Not rst.BOF And Not rst.EOF Then
  rst.MoveFirst
  strID = rst!ID
  strITEM = rst!Item
 
  rst.MoveNext
   
  Do Until rst.EOF
    If strID = rst!ID Then
      strITEM = strITEM & ", " & rst!Item
    Else
    Set db = CurrentDb()
    Set rstOut = db.OpenRecordset("tblResult", dbOpenDynaset)
    rstOut.AddNew
    rstOut!ID = strID
    rstOut!Item = strITEM
    rstOut.Update
       
      strID = rst!ID
      strITEM = rst!Item
        rstOut.Close
        db.Close
    End If
    rst.MoveNext
  Loop
    Set db = CurrentDb()
    Set rstOut = db.OpenRecordset("tblResult", dbOpenDynaset)
    rstOut.AddNew
    rstOut!ID = strID
    rstOut!Item = strITEM
    rstOut.Update
      strID = rstOut!ID
      strITEM = rstOut!Item
    rstOut.Close
    db.Close
End If
Set rst = Nothing
Set db = Nothing
Set rstOut = Nothing
End Sub
ที่ปุ่มใส่โค้ดเพื่อเรียกใช้งาน

โค๊ด: [Select]
Private Sub Command0_Click()
concatenateString
End Sub

โพสต์นี้ได้รับคำขอบคุณจาก: sjs, Peak21, aoffeeprince

196
ห้อง MS Access / : preview and new record
« เมื่อ: 07 ม.ค. 64 , 15:24:34 »
สอบถามผู้รู้ครับ
ผมต้องการสร้างปุ่ม preview และ Add NewRecord ในปุ่มเดียวต้องเขียน code อย่างไรครับ ?
ที่ปุมใส่ 2 โค้ดนี้เข้าไป
DoCmd.OpenReport "ชื่อReport", acViewPreview
Docmd.GoToRecord,,acNewRec
โพสต์นี้ได้รับคำขอบคุณจาก: phathako

197
ทำได้ 2 แบบด้วยกัน
แบบที่ 1
สมมุติตารางชื่อ Mytable
Field ไอดี ชื่อ ID
Field วันที่ ชื่อ Mydate

คิวรี่กำหนดดังนี้
SELECT Mytable.ID, IIf(Month([Mydate])=Month(Date()) And Year(Date())=Year([Mydate]),1,0) AS CheckMonth
FROM Mytable;
กำหนดชื่อคิวรี่ชื่อ QryCheckMonth
คิวรี่ด้านบน ท่านจะได้ข้อมูล ที่ถ้าหากปีเป็นปีปัจจุบัน และเดือนเป็นเดือนปัจจุบัน จะมีค่าเท่ากับ 1 ส่วนเดือนอื่นๆ ปีอื่นๆจะเท่ากับ 0

ต่อไปเขียนโค้ดไว้เรียกใช้เงื่อนไขในการเช็ค
Private Sub CheckAllowEdits()
Dim MonthCheck As String
MonthCheck = DLookup("CheckMonth", "QryCheckMonth", "ID =" & Me.ID & "")
If MonthCheck = 0 Then
Me.AllowEdits = False
Me.Undo
Else
Me.AllowEdits = True
End If
End Sub

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


แบบที่ 2 สามารถใช้กับ Formแบบ  Continuous Form ได้ดี
สมมุติตารางชื่อ Mytable
Field ไอดี ชื่อ ID
Field วันที่ ชื่อ Mydate

คิวรี่ ที่จะเป็น Record Source โค้ดจะเป็น
SELECT IIf(Month([Mydate])=Month(Date()) And Year(Date())=Year([Mydate]),1,0) AS CheckMonth, *
FROM Mytable;

เวลาเรานำ ข้อมูลลงมาบน Control ก็นำ Field CheckMonth ลงมาด้วย ตั้งชื่อ textbox ว่า CheckMonth เลย
โดยเราจะสามารถ กำหนดให้ซ่อนไว้ก็ได้ครับ ไม่ต้องแสดง
ต่อไปเราจะสร้างเงื่อนไขในการ ปิดการแก้ไขข้อมูลโดยใช้การจัดรูปแบบตามเงื่อนไข


กำหนดนิพจน์ตามภาพ




วิธีนี้เวลาแสดงในฟอร์มแบบ Continuous Form
ถ้าrecord ไหน CheckMonth = 0 จะถูก Enabled = false ทันที
คือกดแก้ไขไม่ได้เลย ถ้า CheckMonth = 1 ก็จะแก้ไขได้ปกติ

โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013, Pongsak

198
ไม่รู้ว่าการแสดงข้อมูลเป็นแบบไหนนะครับ แต่ถ้าทำวิธีง่ายๆ คือสร้างคิวรี่ไว้ตรวจสอบ เพื่อใช้กับเงื่อนไขว่า เป็นข้อมูลของเดือนที่แล้วหรือไม่
ถ้าเป็นข้อมูลของเดือนที่แล้วก็ กำหนดให้Formให้ ห้ามแก้ไข = true ได้ครับ

สร้างตารางไว้ตรวจสอบนี้ มีเก็บ ID ของข้อมูลหลัก และ วันเดือนปี ของข้อมูลหลัก เพื่อนำมาเช็คเดือนว่าเป็นเดือนปัจจุบันหรือไม่
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

หน้า: 1 ... 8 9 10 [11] 12 13 14 ... 32