แสดงกระทู้

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

หน้า: [1] 2 3 4 ... 12
1



ผมลองเอาโค้ดนี้มาใช้มันก็ยังไม่เคลียร์ค่าใน combobox ครับ แต่ผมตัดเงื่อนไขของ textbox กับ checkbox ออกแล้ว

วิธีการตามรูปนั้นตัว combobox มี control source ไม่ได้ว่าง(unbound) หรือหน้าฟอร์มแบบอื่นที่ไม่ใช่ Continuous Forms นะครับ
ส่วนที่ผมจำไม่ได้ว่ากระทู้ไหนจึงไปค้นเจอว่าคือกระทู้นี้ครับ https://www.thai-access.com/index.php?topic=1287.0
ซึ่งเป็น checkbox และเป็นการนำข้อมูลที่มีอยู่แล้วมาให้เลือกเท่านั้น / ขออภัยด้วยครับ :cry:

2
รูปแบบ subform ท่านเป็นแบบ Continuous Forms ดังนั้นเมื่อ combobox ใดๆที่ไม่ได้ผูกตัวแปรอะไรใว้(unbound)จะเกิดเหตุการณ์ที่ว่าโปรแกรมจะแสดงค่าล่าสุดที่มีการเลือกใช้มาแสดงเองโดยอัตโนมัติ *แต่ก็เป็นเพียงแค่การนำมาแสดงเท่านั้นไม่ได้มีผลผูกพันธุอะไรเหมือนกับที่เรากดเลือกจริง
วิธีแก้คือผูกกับตารางเหมือนกล่องอื่นๆครับ หรือเคยเห็นมีกระทู้ถามตอบแนวนี้อยู่ครับ(จำไม่ได้ว่ากระทู้ไหนขอโทษด้วยครับลองค้นหาดู :dizzy:)

4
ข้อมูลแก้ไข Type จาก nvarchar เป็น varchar ไม่ได้ค่ะ SQL ไม่ให้เปลี่ยน เนื่องจาก Export ข้อมูลมาจาก Access ข้อมูลหลาย Record แล้วด้วยค่ะ
ใช่ครับ SQL เขาไม่ให้เปลี่ยนจึงแนะนำแนวทางตามโพสล่างไปนะ :wut:
.....ใช้วิธีสั่งก๊อบข้อมูลทั้งหมดจาก ntext ไปคอลัมน์ที่สร้างใหม่เป็น text แล้วจึงใช้งานจากคอลัมน์นี่แทน...

ตัวอย่างชุดคำสั่งบน SQL Server Management Studio
UPDATE [ชุดดาต้าเบส].[dbo].[ชื่อเทเบิ้ล]
SET [คอลัมน์ใหม่] = [คอลัมน์เก่า]


5
Sql Sever = นำ Sql ไปวางบน Host(Export,Import ด้วยตัวท่านเองหรือแอ็ดมินโฮสขึ้นอยู่กับอำนาจท่าน)

เครื่องลูก = ODBC เพิ่มลิ้งโฮสใหม่ / Access แก้ลิ้งไปโฮสใหม่


ลิ้งอ.TTT ใส่เพื่อใว้ Client Server - การติดตั้ง SQL SERVER Express (ฟรี) ใช้งานร่วมกับ MS Access ผ่าน ODBC
https://youtu.be/i6SXfoFWPcU link

6
ลองดูตัวอย่างอาจารย์ครับ

7
โดยทั่วไปการจะเลือกช่วงเวลาจะใช้คำสั่ง between โดยจะต้องมีวันที่เข้าไปด้วยตามตัวอย่างของอ.สันติสุข ครับ

โพสนี้แวะมาแนะนำชุดคำสั่งที่ใช้สำหรับแปลงวันที่(ไม่ว่าเราจะกดเลือกวันที่เท่าไหร่)ให้เป็นวันแรกหรือวันสุดท้ายของเดือนนั้นๆ

วันแรกของเดือน = DateSerial(Year(Date()), Month(Date()), 1)
วันสุดท้ายของเดือน = DateSerial(Year(Date()), Month(Date())+1, 0)
*Date() = ใช้ชื่อ TextBox แทนค่าลงไปได้

8
ปกติแล้วรายการ combo box ใน Access ที่เราดึงมาจากตารางก็จะมีเพียงข้อความเท่านั้น  เราสามารถใส่ไอคอนหรือรูปภาพเข้าไปแบบคลิบด้านล่างที่เขาใช้ MS Visual Basic ได้ใหมครับ :question:
(รูปดึงจาก Attachment หรือ CurrentProject.Path)


9
เหมือนว่าระบบจะไม่ให้แก้ข้อมูลเก่าเป็นฟิลด์คำนวนครับ ต้องเพิ่มแถวข้อมูลใหม่ > Calculated > ใส่หรือพิมพ์สูตรทึีต้องการคำนวนเช่น [a ]+[b ] / เสร็จสิ้น

https://codekabinett.com/rdumps.php?Lang=2&targetDoc=access-table-calculated-field-compute-quarter-date link


10
ที่ Combo box : Part Name สั่ง Requery ข้อมูลครับ
โค๊ด: [Select]
Private Sub cb_PartID_GotFocus()
    Me.cb_PartID.Requery
End Sub

11
ขอบคุณแนวทางจากท่าน PNR ครับผม :love:
ขอบคุณไฟล์รูป,ข้อมูล Ragnarok Online M_Eternal Love จาก https://www.romcodex.com/ link :cool:

รูป   | ธาตุ | แพ้ธาตุ
ชื่อ  | เผ่า , ขนาด


ไฟล์ตัวอย่างใว้ศึกษาวิธีการทำ Call select_case (อ.PNR) & วิธีเพิ่มรูป,ดึงรูป,ดึงชื่อรูปออกมาแสดง (อ.TTT) ขอบคุณอีกครั้งครับผม

12
ฟอร์ม A,B เปิดอยู่พร้อมกันหรือเปล่าครับ :question:

1. ฟอร์ม A เปิด,ฟอร์ม B ปิด & ไปขึ้นทะเบียนใหม่ในตาราง B โดยวิธีที่ผมใช้นั้นคือ
  1.1 ในฟอร์ม A ทำปุ่มเปิดฟอร์ม Bฉบับไร้เงา(DoCmd.OpenForm "Bฉบับไร้เงา")
  1.2 ที่ฟอร์ม Bฉบับไร้เงา(ผูกข้อมูลอยู่กับตาราง B) ทำกล่องข้อความเพื่อเก็บค่าต่างๆที่ต้องการเช่น
       - กล่อง vaNo สั่งผูก Control Source = vaNo , สั่งดึงข้อมูลมาจากฟอร์ม A (ที่เปิดอยู่) Default Value = =[Forms]![ฟอร์ม A]![ชื่อกล่องที่จะดึงมา]
       - กล่อง vaCus_Name สั่งผูก Control Source = vaCus_Name , สั่งดึงข้อมูลมาจากฟอร์ม A (ที่เปิดอยู่) Default Value = =[Forms]![ฟอร์ม A]![Name]
       - .....
  1.3 ฟอร์ม Bฉบับไร้เงา สั่งบันทึกข้อมูลลงตารางและสั่งปิด
โค๊ด: [Select]
Private Sub Form_Close()
    DoCmd.RunCommand acCmdSaveRecord
End Sub
Private Sub Form_Load()
    DoCmd.Close
End Sub

2. ฟอร์ม A,B เปิด คล้ายวิธีตามข้อ1 เพียงแต่แบบนี้จะออกแบบให้ TextBox ในฟอร์ม B ผูกกับตารางB ไหนอย่างไรหรือไม่ก็ได้,ตัว TextBox ไม่สามารถดึงข้อมูลมาได้แบบ 1.2 = เปลี่ยนเป็นใช้วิธีทำปุ่มคำสั่งให้ทำการดึงข้อมูลจากฟอร์ม A มาใส่ฟอร์ม B (ถ้าเป็นจะให้ A ส่งไป B นั่นผมไม่รู้วิธีครับ)
โค๊ด: [Select]
Private Sub Command16_Click()
     me.vaNo = [Forms]![ฟอร์ม A]![ชื่อกล่องที่จะดึงมา]
     me.vaCus_Name =[Forms]![ฟอร์ม A]![Name]
     .....
End Sub

เป็นแนวทางเบื้องต้นลองนำไปปรับใช้ดูครับผม :yuush:

13
ดูจากธาตุแล้ว นึกถึง ragnarok ขึ้นมาเลยครับ Hunter สายล่าบอส  :cool: :cool:
ถูกถูก..ถูกต้องนะครับบ :shout:

ตอนนี้ผมใช้คำสั่ง call แบบนี้อยู่ในอีกชุดคำสั่งนะครับ แต่อย่างว่ามันล่ะตัวชุดจึงต้องไล่ทำมันทุกอันเลยนะครับ=เยอะ จึงนึกถึงโมดูลอย่าง Function BahtText(ByVal sNum) แนวว่ามันเรียกใช้ให้อ่านค่าแล้วแสดงผลออกมาอีกแบบได้เลยนะครับ(นึกถึงแต่ดูแล้วแกะไม่เป็น)
โค๊ด: [Select]
Private Sub Form_Current()
    Call PicBoss
End Sub

Private Sub Nboss_01_AfterUpdate()
    Call PicBoss
End Sub
Private Sub Nboss_02_AfterUpdate()
    Call PicBoss
End Sub
.....

Public Sub PicBoss()
DoCmd.SetWarnings False

If IsNull(Me.Nboss_01) Then
    Me.PB_01.Picture = ""
    Me.PT_01.Picture = ""
'    Me.PE_01.Picture = ""
    Me.NR_01.Value = ""
Else
    Me.PB_01.Picture = CurrentProject.Path & "\Pics\" & Nboss_01.Column(5)
    Me.PT_01.Picture = CurrentProject.Path & "\Pics\" & Nboss_01.Column(2) & ".png"
'    Me.PE_01.Picture = CurrentProject.Path & "\Pics\Element\" & Nboss_01.Column(4) & ".png"
    Me.NR_01.Value = Nboss_01.Column(3)
End If
If IsNull(Me.Nboss_02) Then
    Me.PB_02.Picture = ""
    Me.PT_02.Picture = ""
    Me.PE_02.Picture = ""
    Me.NR_02.Value = ""
Else
    Me.PB_02.Picture = CurrentProject.Path & "\Pics\" & Nboss_02.Column(5)
    Me.PT_02.Picture = CurrentProject.Path & "\Pics\" & Nboss_02.Column(2) & ".png"
    Me.PE_02.Picture = CurrentProject.Path & "\Pics\Element\" & Nboss_02.Column(4) & ".png"
    Me.NR_02.Value = Nboss_02.Column(3)
End If
.....
 
DoCmd.SetWarnings True
End Sub




14
เนื่องด้วยผมมี Combo Box(Nboss_xx) อยู่ประมาณ 30ตัว โดยเมื่อเลือกแล้วจะดึงค่าไปแสดงผลที่ Text Box(Ne_xx) และเทียบค่าไปแสดงผลต่อที่ Text Box(WinNE_xx)
สามารถเขียนมาโครหรือโมดูลในการทำชุดคำสั่งชุดเดียวใว้ใช้งานแทนที่จะทำแยกทั้งหมด 30ชุดใหมครับ

Private Sub Nboss_01_AfterUpdate()
    Me.Ne_01 = Nboss_01.Column(4)
    Select Case Ne_01
        Case "Undead"        : Me.WinNE_01.Value = "Fire"   
        Case "Earth"      : Me.WinNE_01.Value = "Fire"   
        Case "Fire"      : Me.WinNE_01.Value = "Water"   
        Case "Water"      : Me.WinNE_01.Value = "Wind"   
        Case "Wind"      : Me.WinNE_01.Value = "Earth"   
        Case "Poison"        : Me.WinNE_01.Value = "Holy"   
        Case "Shadow"      : Me.WinNE_01.Value = "Holy"   
        Case "Holy"      : Me.WinNE_01.Value = "Shadow"   
        Case Else            : Me.WinNE_01 = ""   
    End Select
End Sub

15
โค๊ด: [Select]
Private Sub Combo41_AfterUpdate()
    Me.depre_rate.Value = Me.Combo41.Column(2)
End Sub

https://www.thai-access.com/index.php?topic=738.msg3261#msg3261

16
ขนาด width ได้ครับแต่ height ยาวเกิน ครับ
ติดตั้งแล้วครับ รายงารจะออกมาแบบนี้ครับ มี 2 หน้า

1.ออกแบบรายงานกำหนดขนาดไม่ให้เกิน 8cm แล้วใช่ใหมครับ


2.จากที่ว่าเพิ่มขนาด 8x8cm(80*80mm) ลงไปใน print server properties นั้นเครื่องพิมพ์กระดาษความร้อนรองรับใช่ใหมครับ
ตย.เครื่องผมที่รองรับเล็กสุดได้ที่ 55*89mm

หน้า: [1] 2 3 4 ... 12