แสดงกระทู้

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 - ปิ่นณรงค์

หน้า: 1 ... 28 29 30 [31] 32
541
มีอีกแบบนะครับ ใช้ตัวนี้แทน ทำให้แสดง All ไว้ตลอด ตอนกดเลือกรายการครับ
โหลดตัวอย่างได้ด้านล่าง

542
มันไม่หายนะครับ เมื่อเปิดรายงานแล้วปิดรายงาน All ก็จะแสดงขึ้นมาใหม่ครับ

543
มันมี 2 อันนะครับ อันบน นั้นผมเขียนคำสั่งผิดเอาอันนี้นะครับ

544
ตอนเปิดฟอร์มที่ไม่เหนเพราะผมใช้คำสั่งซ่อนไว้ไม่ให้มองเหนครับ
ที่เปิดแล้วไม่มีเสียงผมว่า คุณยังไม่ได้เอาไฟล์เสียงไปวางไว้ตามตำแหน่งที่บอกหรือเปล่าครับ

หรือพี่แอดไลน์ผมมาก็ได้คับ เพื่อได้แชร์ความรู้กันผมก็มือใหม่เหมือนกันคับ

Line ID: pboosurat

545
ถ้าในกรณีที่ Type นั้นเป็นค่าที่ตายตัวก็สามารถใช้แบบนี้ก็ได้ครับ

546
ใช้วิธีการเว้นว้างแล้วกดออกรายงานแทนได้ไหมครับ

โดยไปแก้ Criteria ของ Query เป็น Like Nz([Forms]![Formreport]![Cmbtype],"*")

ตัวอย่าง

547
ถ้าเราจะให้เล่นในฟอร์มโดยใช้ตัวเล่น ของ WindowsMediaPlayer ได้ไหมครับ แต่ตัวไฟล์เสียงจะแยกออกมาจากตัวโปรแกรม
โดยกำหนด ตำแหน่งของไฟล์เสียงครับผมลองทำแบบง่ายๆ ได้ดังนี้


ตัวอย่างคำสั่ง
โค๊ด: [Select]
Private Sub Form_Current()
Call PlaymusicOnForm
End Sub
Sub PlaymusicOnForm()
Dim LinkAddress As String
LinkAddress = "C:\Sound\SleepAway.mp3" 'กำหนดตำแหน่งไฟล์เสียง
Me.WindowsMediaPlayer.URL = LinkAddress
Me.WindowsMediaPlayer.Visible = False
End Sub

ลองสร้างโฟลเดอร์ Sound ไปไว้ที่ Drive C: แล้วเอาไฟล์เสียงใส่ลงไป แล้วไปกำหนดตำแหน่งของเสียงตรง LinkAddress = "C:\Sound\ชื่อไฟล์......mp3"  แล้วลองเปิดฟอร์มดูครับ

ส่วนวิธีการแบบอื่นๆ ลองปรึกษาอาจารย์ TTT อาจารย์สันติสุขดูครับพี่

548
ตัวอย่างครับ

549
สามารถกำหนดได้ดังนี้คับ สมมุติว่ามีตัว combobox อยู่ชื่อว่า cmbtype และฟอร์มชื่อ Formreport
ที่ตัว Query  ตรง Column ชื่อว่า type ใส่ criteria ว่า [Forms]![Formreport]![cmbtype]
แล้ว สร้างปุ่มซักตัว ใส่คำสั่ง  Docmd.Openreport.............. เพื่อไว้เปิดรายงานครับ

550
ถ้าจะแก้ไขเกี่ยวกับ Form ต้องไปตั้งค่าที่ ฟอร์มครับไม่ใช่ไปตั้งค่าที่ตัว Control  กดตามนี้ครับ


551
ขออนุญาติ ตอบแทน อาจารย์นะครับ

Form_Current  คือกดไปที่คุณสมบัติฟอร์มครับ ตรงแท๊บเหตุการณ์ แล้วกดตามลูกศรที่ผมชี้ไว้เพื่อใส่ Code ครับ


ส่วน Bound Objects คือ ชื่อของกรอบวัตถุที่ท่านได้กำหนดไว้ (จากที่ดูตัวอย่าง ชื่อว่า "รูป" ครับ)
ส่วนการกำหนด Control ก็ใส่ได้ประมาณนี้ครับ

Private Sub Form_Current()
รูป.SetFocus
รูป.AutoActivate = 1
End Sub

หมายเหตุ การกำหนดชื่อ Control ผมคิดว่าควรตั้งเป็นภาษาอังกฤษดีกว่าครับ เพื่อไม่ให้มีปัญหาภายหลัง

552
โค๊ด: [Select]
SELECT Item.Date, Item.item AS ItemToTal, Item.name, Item.QTY, IIf(IsNull([Shipment_Qty]),"0",[Shipment_Qty]) AS ShipmentQty, IIf(IsNull([Received_Qty]),"0",[Received_Qty]) AS Receiving, [Qty]-[ShipmentQty]+[Receiving] AS Qty_Today
FROM (Item LEFT JOIN Shipment ON Item.item = Shipment.ItemShip) LEFT JOIN Receiving ON Item.Item = Receiving.ItemReceived;

ผลลัพท์ที่ได้

553
สวัสดีครับ มีตัวอย่างไหม เผื่อผมแก้ให้ได้

554
โค๊ด: [Select]
SELECT Item.Date, Item.item AS ItemToTal, Item.name, Item.QTY, IIf(IsNull([Shipment_Qty]),"0",[Shipment_Qty]) AS ShipmentQty
FROM Item LEFT JOIN Shipment ON Item.item = Shipment.ItemShip;

ผลลัพท์ที่ได้ครับ


555
สวัสดีครับ ปัญหานี้ผมเคยเจอเหมือนกันลองทำตามนี้ดู  :grin:
--------------------------------------------------------------------------------------
วิธีการที่ 1
1.Copy ข้อมูลของ Excel เสร็จแล้วก็ปิดโปรแกรม Excel ไปก่อนเลย
มันจะขึ้นถามเราว่า

There is a large amount of information on the clipboard. Do you want to be able to paste this information into another program later?

ให้เราตอบ yes
2.ไปที่ Access กดวางดูครับว่าได้ไหม
--------------------------------------------------------------------------------------

วิธี 2
นำตัว Hotfix ตัวนี้ไปติดตั้งครับ สำหรับ access 2007 ครับ
http://hotfixv4.microsoft.com/Microsoft%20Office%20Access%202007/sp2/officekb967699fullfilex86glb/12.0000.6341.5000/free/373507_intl_i386_zip.exe

เพราะอาจจะเกิดได้จากการระบบอโต้ อัพเดทของเครื่องเราทำให้เกิดปัญหานี้ขึ้นได้ครับ

--------------------------------------------------------------------------------------

556
สวัสดีครับพี่ ถ้าใช้วิธีบ้านๆแบบผมได้ไหม
ของผมในกรณีที่เป็น ฟอร์มแบบ Continuous Forms และสร้างปุ่มแก้ไขไว้ด้านหลัง ผมจะใช้การ AppendQuery ข้อมูลทั้งหมด ไปยัง ตารางชั่วคราวไว้ก่อน

ตัวอย่างคำสั่งที่ใช้ โดยก่อนจะ Append ข้อมูลที่จะนำไปแก้ไข
1. ในAppend Query .ใช้การอ้างอิง ID ของ ข้อมูล ตัวอย่างในคิวรี่ [Forms]![Form2]![ID] ตามด้วย ข้อมูลอื่นๆ ให้ครบ ตั้งชื่อ Append Query ว่า T_Append
2. กำหนด Table ที่จะ Append นำข้อมูลไปเก็บไว้ชื่อ Tproduct
3. กำหนด แหล่งระเบียนของ Form 1 ฟอร์มที่จะแก้ไข เป็น ข้อมูลจาก Tproduct
คำสั่ง ที่ให้นำข้อมูลที่ต้องการนำมาแก้ไข บนฟอร์มที่ 1

โค๊ด: [Select]
Private Sub Edit_Click()
    DoCmd.GoToRecord , , acNext
    DoCmd.GoToRecord , , acPrevious
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE Tproduct.* FROM Tproduct"  'ให้ลบข้อมูลเก่าก่อนที่จะวางข้อมูลใหม่ที่ระบุ
    DoCmd.OpenQuery "T_Append"
    DoCmd.SetWarnings True
    DoCmd.Close
    DoCmd.OpenForm "Form1"
End Sub

ที่ Form 1 เมื่อแก้ไขข้อมูลเสร็จก็ใช้ UpdateQuery โดยตั้งชื่อว่า T_Update กำหนดให้ ID ของตารางหลัก (tblProduct) และ ตาราง Tproduct มีความสัมพันธ์แบบ Enforce Referential Integrity  เพื่อ Update ข้อมูลที่แก้ไขไปยังตารางข้อมูลหลัก (ชื่อ tblProduct) ของเราเมื่อเราปิด Form 1 (ฟอร์มแก้ไข)
โค๊ด: [Select]
Private Sub Form1_Close()
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "T_Update"   
    DoCmd.RunSQL "DELETE Tproduct.* FROM Tproduct"
    DoCmd.SetWarnings True
    DoCmd.OpenForm "Form2"   
End Sub

ส่วนวิธีง่ายๆกว่านี้ รออาจารย์ท่านอื่น มาบอกนะครับ ผมก็อยากทราบเหมือนกัน
จาก(มือใหม่อยากแบ่งปัน)

557
นำคำสั่งนี้ไปวางใน Module
โค๊ด: [Select]
Function fCopy(strDest As String, strSrc As String)
Dim fs As Object, strTime As String
Set fs = CreateObject("Scripting.FileSystemObject")
fs.copyfile strDest, strSrc, True
End Function


นำคำสั่งนี้ไปวางใน Event ที่ต้องการ ใช้ Call ....... กะได้ครับหรือเอาไปดัดแปลงตามสะดวก
โค๊ด: [Select]
Sub CopyFile
Dim fold
        Set fold = CreateObject("Scripting.FileSystemObject")
        newFDR = "D:\........." 'ใส่ Path ที่จะเก็บไฟลฺ์ ถ้ายังไม่มี Folder ให้สร้างใหม่ตามที่เรากำหนด
        If Not fold.FolderExists(newFDR) Then
        fold.CreateFolder (newFDR)
        End If
        fCopy "C:\pic1.jpg", "D:\pic1.jpg" 'ตัวอย่างนี้ให้ Copy รูปจาก C:\ ไป D:\ เลือกตำแหน่งใหม่ได้ตามต้องการ

End sub

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



จากปกติ Me.Text22 = Me.Text22 - 1

เพิ่มเป็น
โค๊ด: [Select]
If Me.Text22 = 0 Then
Me.Text22 = Me.Text22
Else
Me.Text22 = Me.Text22 - 1
End If

หน้า: 1 ... 28 29 30 [31] 32