แสดงกระทู้

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

หน้า: [1] 2 3 4 5
1
น่าจะคล้ายๆ อันนี้ เผื่อมีคนถนัดแวะมาตอบครับ
It needs to be a function not a Sub. So it should be:

Public Function RandNo() AS Integer
Dim iRNumber As Integer
Randomize
RandNo = Int((200 - 100 + 1) * Rnd + 100)
End Function

This will return the random number you want.

To add this to a table you could use code like:

Dim SQL As String
Dim i as Integer

For i = 1 to 5
strSQL = "INSERT INTO table (Field1, Field2, Filed3) " & _
"VALUES(" & RandNo() & ", " & RandNo() & ", " & RandNo() & ");"
CurrentDB.Execute strSQL, dbFailOnError
Next i

If you need further clarification on this feel free to ask.

2
วันนี้มาดูคำตอบ คิดว่าทำอีกวิธีหนึ่งคือสร้างเป็นคิวรี แล้วกดปุ่มรันคิวรี append to table แล้วค่อยนำไปทำเป็นรายงาน แต่ก็อยากได้โค้ดที่ว่า จะสุ่มแล้วappend กี่ครั้งกดตู้มเดียวแล้วเสร็จสรรพเลย ค้นหาเพิ่มเติมเจออันนี้แต่นำไปใช้ไม่เข้าใจ ครับตรงการนำไปใช้ในส่วนล่าง
    

Queries: Create a query that returns Random records
   Author(s)
Joe Foster

(Q) How can I return Random records from a table?

(A) Paste the following function in a new module.

'************ Code Begin ***********
'Code courtesy of
'Joe Foster
Function Randomizer () As Integer   
Static AlreadyDone As Integer
       If AlreadyDone = False Then Randomize : AlreadyDone = True   
   Randomizer = 0
End Function
'************ Code End *************

Now to get 100 questions picked at random:

select top 100 mytableชื่อตาราง.*from mytableชื่อตาราง
where randomizer() = 0
order by rnd(isnull(mytableชื่อตาราง.questionน่าจะเป็นชื่อฟิลด์ในตารางไหมครับ) * 0 + 1)

3
ไฟล์ตัวอย่างคือ ได้จำนวนชุดที่ต้องการ แต่เนื้อหาซ้ำกัน อยากสั่งพิมพ์ที่มันสามารถสร้างไฟล์ pdf ไฟล์เดียว หรือ สั่งพิมพ์รายงานครั้งเดียวแล้วได้ 10 คน 10 หน้า เนื้อหาเรียกมาจากคิวรีที่เรามีแล้วก็ได้ โดยที่เราไม่ต้องคลิกเมาส์เลือกพิมพ์ทีละครั้งๆ จนครบ 10 ครั้ง

4
วันนี้แก้ปัญหาบางตำแหน่งที่ไม่ต้องการพิมพ์สติกเกอร์ โดยเพิ่ม field ลงไปในตาราง ว่าจะพิมพ์สติกเกอร์ตำแหน่งนี้ไหม เป็นแบบ number ว่าจะทำแบบนี้ได้ไหม ลองครั้งแรกใช้ condition formatting ทำ textbox คลุมเนื้อหาในสติกเกอร์ทั้งหมดไม่สำเร็จ ค้นบนกูเกิ้ลใหม่ เอาแบบถ้าตรงเงื่อนไขถ้าเป็นเลข 1 แสดงข้อความ ถ้าว่างให้คลุมด้วยสีขาว สำเร็จตาม

Open your report in design view, right click "Detail" select Properties and put the code (in bold) in the OnFormat. Change MyMemo to the name of your memo control.

Code:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) 

 Me.MyMemo.Visible = Not IsNull(Me.MyMemo)

End Sub



5
คลิกตรงรูปภาพ เรื่องที่เราสนใจ มองข้างโฆษณาไป แล้วก็มีปุ่ม โหลด PDF อยู่ด้านล่าง กดโหลดได้เลย......

6
ขอบคุณครับ คือ ในฐานะที่เป็นลูกค้าคนหนึ่ง สินค้าบางตัวบาร์โค้ดมันยิงไม่ได้พนักงานเขาก็จะต้องดูรหัสข้างกล่อง ส่วนใหญ่ตรงเลขใต้บาร์โค้ดก็ไม่ค่อยเห็นวรรค ถ้าวรรคพนักงานก็คงจะอ่านง่ายขึ้น ใช้เวลาน้อยลง ยิ่งบางทีพนักงานให้อีกคนบอกเลขบาร์โค้ดก็สื่อกันผิด ก็ต้องเริ่มใหม่...อันนี้ตรงกล่องหรือสลากสินค้า ถ้าวรรคตัวเลขที่กำกับก็จะดี ส่วนปัญหาอีกอันของห้างในท้องถิ่นที่นี่ สินค้าบางอันเราอยากจะเอาไปคืนหรือเปลี่ยน สินค้าไม่สะดวกที่จะยกมาให้ยิงบาร์โค้ดกลับคืน พนักงานก็จะดูในสลิปที่แสดงเลขรหัสบาร์โค้ด แล้วตัวเลขมันติดกัน คิดว่าถ้ารหัสสินค้าเวลาพิมพ์ลงใบเสร็จรับเงิน โปรแกรมเมอร์ที่เขียนโปรแกรมด้าน POS ขอช่วยวรรคให้มันอ่านง่ายน่าจะดี จะทีละ 3 ตัว หรือ 4 ตัวค่อยวรรคก็ได้ ทำนองนี้ ครับ .... ส่วนห้างดอกบัวเคยไปซื้อของแล้วจ่ายผ่านทรูวอลเล็ต เงินไม่พอค่าสินค้า แต่บาร์โค้ดชำระเงินออกแล้ว ห้างนี้เขายิงคืนสินค้าทุกชิ้นแล้วก็เริ่มต้นการชำระค่าสินค้าใหม่ครับ....หรือบางทีสมัยนี้ลูกค้าก็ยังต้องใช้เลขอธิบายบาร์โค้ดในการค้นหาสินค้า ค้นหาของแหล่งผลิตสินค้าบนกูเกิ้ลได้อีกช่องทางหนึ่ง ถ้าเลขอธิบายบาร์โค้ดมีวรรคด้วย ก็น่าจะดี อ่านสะดวกขึ้น ในความคิดของผมครับ

7
ติดขัดคิวรี่มาตั้งแต่ปี 63 ได้คำตอบในปีนี้แล้วครับ ผมส่งเฉลยมาเพิ่มครับ
SELECT DISTINCTROW NetGrade.group, NetGrade.code, NetGrade.sTotal, NetGrade.sNet, scores.letterGrade
FROM scores, NetGrade
WHERE (((NetGrade.sNet) Between [scores].[lowerlimit] And [scores].[upperlimit]));

8
มีตารางเกรด ตารางคะแนน อยากเอาคะแนนที่เด็กๆ ทำได้ ไปเข้าว่าตรงเกณฑ์ตารางเกรดตรงไหน ควรจะได้เกรดอะไร
ติดขัดนั่งทำตั้งแต่เมือคืนจนถึงเวลานี้ ไม่รู้จะเป็นคำตอบที่ถูกไหม ค้นเจอค้นหาตัวนี้ตอนที่จะมาอัพโหลดไฟล์ขอความช่วยเหลือบนไทยแอคเซส
จากลิงก์นี้ https://www.oreilly.com/library/view/access-cookbook/0596000847/ch01s10.html link
ผมยังไม่ได้ทำตามลิงก์ที่ให้ครับ คาดว่าน่าจะตรงที่กำลังติดขัด ไฟล์ที่อัพขึ้นมาเผื่อคุณครูท่านอื่นๆ จะช่วยส่งเฉลยครับ

9
มีเลขที่สูงสุดอยู่ 22 เลขที่เลยคิดว่าจะขมวดเลขที่ 1 เอาของทุกระดับชั้น ทุกห้อง มาอยู่แถวเดียวกัน สร้างครอสแทปคิวรีหลายรอบแล้วไม่ได้สักที จึงเปลี่ยนมาเป็นสร้างตารางเก็บข้อมูลไว้แทนครับ เพื่อให้ง่ายต่อการสร้างครอสแทปต่อไป อยากให้ครอสแทปมีหน้าตาแบบนี้
เลขที่ ชื่อ
1      ก ข ค ง
2      a b c d
3      aa bb cc dd
...
22    ca cb cc cd
คิวรี่อันสุดท้ายที่พยายามก่อนมาตั้งคำถามครับ
TRANSFORM Count(sortNoEachClass.room) AS CountOfroom
SELECT sortNoEachClass.roomNo, Count(sortNoEachClass.room) AS [Total Of room]
FROM sortNoEachClass
GROUP BY sortNoEachClass.roomNo
PIVOT sortNoEachClass.FirstOffname;

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

10
มีคนถามว่า อยากให้เช็คเท็กซ์บ็อกซ์ ถ้าว่างให้เปลี่ยนสีให้หน่อย
Text box name = HomeMobile

What event should I use on the report: • Private Sub Report_Load() • Private Sub Report_Open(Cancel As Integer)

Private Sub Report_Open(Cancel As Integer)

If IsNull(Textbox.Value) = True Then
Textbox.BackColor = vbRed

End If

End Sub

อีกคำตอบ


You could try with the Format or Print event, and also arrange for the colour to be reset:

Textbox.BackColor = IIf(IsNull(Textbox.Value), vbRed, vbWhite)

อันนี้คำถามว่า อยากให้ฟอร์มโหลดขึ้นมาแล้วเปลี่ยนสีทุกกล่องข้อความ

You can place this code in the Onload event of your form and this will change all of your boxes at one time.
Delcare the control:
Dim tb as Control
Code:
 For Each tb In Me.Controls
        If TypeOf tb Is TextBox Then
            tb.BackColor = 'your color goes here
        End If
    Next
-----------------------------------------------------------------------------
อันนี้โค้ดของคนถาม
For Each Ctl In Detail.Controls
'ตรวจสอบเฉพาะที่เป็นประเภท TextBox / Combo Box
If Ctl.ControlType = acTextBox Or Ctl.ControlType = acComboBox Then 'Or ctl.ControlType = acCheckBox
'และเฉพาะที่ชื่อชื้นต้นด้วย Status
If Ctl.Name Like "Status*" Then
'ถ้าได้ค่าว่างๆ
If Ctl &"" = "Less than 1 day" Then
isBlank = "LT"
Elsef Ctl &"" = "More than 1 day" Then
isBlank = "MT"
Elsef Ctl &"" = "Card expired" Then
isBlank = "C"
Exit For
End If
End If
Next
If isBlank = "LT" Then
Ctl.BackColor = vbYellow
Elself isBlank = "MT" Then
Ctl.BackColor = vbGreen
ElseIf isBlank = "C" Then
Ctl.BackColor = vbRed
Exit Sub
End If
End if


12
ตอนนี้ทำคิวรี่ออกมาเรียบร้อยแล้ว ดังตาราง

injectDate   +++++++1Day++++7Day++++++++++14Day+++++เลขประชาชน++++++ชื่อ นามสกุล
8/10/2564.........9/10/2564........15/10/2564........22/10/2564........999 999 999 999 9.......a
8/10/2564.........9/10/2564........15/10/2564........22/10/2564........999 999 999 999 9.......b
8/10/2564.........9/10/2564........15/10/2564........22/10/2564........999 999 999 999 9.......c
8/10/2564.........9/10/2564........15/10/2564........22/10/2564........999 999 999 999 9.......d

ต้องแจ้งในไลน์กลุ่มเพื่อให้คนฉีดวัคซีนเข้าไป่ตอบแบบสอบถามอาการที่เกิดหลังจากฉีดวัคซีน
อยากรู้ว่าในระบบประเภททำข้อมูลประเภทแจ้งการเตือน นัดหมาย เขานิยมเก็บกันในฐานข้อมูลแบบไหนครับ

......เดาว่า น่าจะเป็น เลขประชาชน แล้วก็วันนัดถัดไป 1 day....
ทำตารางนัดหมายเพิ่มมีฟิลด์เลขประชาชน และฟิลด์วันนัด (วันนัดก็จับวันที่ถูกคำนวณแล้วจับยัดไป)
เลขประชาชน แล้วก็วันนัดถัดไป 7 day
เลขประชาชน แล้วก็วันนัดถัดไป 14 day
สมมติในฐานมีปริมาณคนฉีดวัคซีนในแต่ละวัน ผมก็จะเข้ามาคลิกเพิ่มในคิวรี่เป็นลำดับๆไป
มีร้อยคนฉีดคนละวันก็จะตามเก็บข้อมูลแบบนี้ทุกๆวัน ที่มีการฉีด
เคยอ่านเจอในเวบนี้ ตรงถึงวันนัดหมาย วันคืน วันครบกำหนด ให้สั่งพิมพ์รายงานแจ้ง (พอเห็นแนวทางคำตอบ)
แล้วก็ไป ตั้งเตือนในมือถือ เข้าโปรแกรม คัดลอกชื่อแจ้งไปในกลุ่มไลน์ให้เขาตอบแบบสอบถามในวันที่ครบกำหนด จะไม่ให้ลิงก์แบบสอบถามไปล่วงหน้าทีเดียว

ขอบคุณล่วงหน้าครับ

13
ใช่ครับ... วันเป้าหมาย คือ อยากรู้ว่ากลุ่มข้อมูลนี้มีจะมีอายุเท่าไหร่ ในวันที่เราต้องการ

14
"อ่านหลายรอบ ก็ไม่เข้าใจว่าต้องการอะไร นอกจากอายุน้อยกว่า 12 แม้แต่วันเดียวไม่เอา หรือ มากกว่า 18 ปี แม้แต่วันเดียวก็ไม่เอา"
ใช่ครับ สมมติ เงื่อนไขของวัคซีนตัวนี้คือ จะฉีดได้ อายุตั้งแต่ 12 ปี บริบูรณ์ - 18 ปี บริบูรณ์ คือถ้าในวันและเวลา ที่จะต้องส่งข้อมูลวันสุดท้าย ขั้นต่ำคุณควรไม่ต่ำกว่า 12 ปีเป๊ะๆ และ อายุต้องไม่เกิน 18 ปี เป๊ะๆ ครับ
ผมโหลดไฟล์มาดูแล้วครับ ก็นำข้อมูลไปใช้ต่อได้ครับ (เป็นการเทียบอายุกับวันในเครื่องคอมพิวเตอร์ปัจจุบัน) แต่ถ้าเราต้องการคำนวณล่วงหน้าไปอีกสัก 5 วัน เราก็จะแก้ไขโดยการเปลี่ยนวันที่ที่เครืองคอมพิวเตอร์ก่อน แล้วค่อยมาใช้ฟอร์มนี้ทำงานได้

15
กลับมาทำเพิ่มเติมแล้ว แต่ยังไม่ได้ตรงตามใจ ใช้ฟังก์ชั่นอายุของ อาจารย์สุภาพ ม.ขอนแก่นเพิ่มแล้ว แต่อายุไม่ตรงกับฟังก์ชั่นจากกระทู้ที่อ้างถึงข้างบน ส่วนไฟล์ในคิวรี่ ก็ถือโอกาสเช็คอายุของเด็กไปด้วยว่า
ถ้ายังไม่ถึง 12.0 ปี (อายุไม่ตรงเผ็ง ในวันที่ฉีดวัคซีน ก็ไม่ให้ฉีด ข้อมูลสมมติ หรือดูจากผังการฉีดวัคซีนแล้วคำนวณคร่าวๆ ได้(ดูจากเคยลงทะเบียนแล้วแม่อายุไม่ถึง 70 ปี บริบูรณ์เหลืออีก 15 วัน ก็ยังไม่สามารถลงทะเบียนฉีดวัคซีนว่าต้องเอาคนอายุ 70 ปีขึ้นไป)
และอีกคอลัมน์หนึ่งก็ถือโอกาสตรวจว่า มากกว่าหรือเท่ากับ 18.0 ปีไหม ในวันที่ฉีดวัคซีน ถ้ามากกว่า 18.0 ปี ก็ไม่ให้ฉีด
เพื่อส่งต่อข้อมูลครับ
ไม่รู้พอจะเข้าใจไหม สรุปว่า อยากตรวจดูว่า ถ้าอายุ ไม่ถึง 12 ปีบริบูรณ์ ไม่ต้องส่งชื่อสมัครฉีด และ อายุเกิน 18 ปีบริบูรณ์ ก็ไม่มีสิทธิ์ฉีดวัคซีนที่กำหนด
โดยแสดงข้อมูลแจ้งเตือนว่า "อายุยังไม่ถึง 12 ปีบริบูรณ์", กับ "อายุตอนนี้ ... ปี เดือน วัน" แบบนี้ครับ เวลาเอาไปแสดงในคิวรี่

16
https://www.thai-access.com/topic_post.asp?CategoryID=1&TopicID=371
ผมลองแทนค่าแล้ว เปลี่ยนจาก 20 เป็น 18 คาดว่าน่าจะเป็นชื่อฟิลด์วันเกิดที่จัดรูปแบบไม่ตรงกับกระทู้นี้...เลยไม่ได้คำตอบ

หน้า: [1] 2 3 4 5