แสดงกระทู้

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 ... 26 27 28 [29] 30 31 32
505
ใช่ครับ F22 ในทีนี้ผมว่า อาจจะอ้างไปถึง คอลั่มที่ 22 ของตาราง excel หรือเปล่าถึงมันจะว่างเปล่าอยู่ก็ลองกดเลือก
กดลบ และกด ล้างการจัดรูปแบบ ดูเผื่อช่วยได้

506
copy แล้วลองปิด File excel ต้นฉบับ แล้วกดวางใหม่  >> ทำขั้นตอนนี้แล้วไม่สามารถวางข้อมูลในไฟล์ใหม่ได้ค่ะ (ไม่มีข้อมูลถ้าปิดไปก่อน)
 :cry:
ปกติเวลาเรากด Copy แล้วกด ปิดมันจะมี Msgbox ขึ้นมาแบบนี้

ให้เรากด Yes จากนั้น ก็เปิด Excel อันใหม่ขึ้นมาแล้วกด วาง ได้คับ

ส่วนสาเหตุอื่นๆ คงต้องดูที่ Code ที่ Import หรือส่วนประกอบอื่นๆ แล้วละครับ
หรือส่งไฟล์มาทาง Line ก็ได้ครับ เดี่ยวดูให้เดี่ยวทัก Inbox ไป

507
ตอน copy จากไฟล์ต้นฉบับมาวางที่ไฟล์ใหม่ 
 ให้ copy แล้วลองปิด File excel ต้นฉบับ แล้วกดวางใหม่ดูครับ ว่าการแจ่งเตือนจะหายไปหรือเปล่า

ส่วนการนำเข้า อยากสอบถามว่า ในการ Import ข้อมูลนั้น เป็นข้อมูลทั้งหมดที่จะนำเข้าไปใหม่หรือไม่
ถ้าใช่ ถ้ามีข้อมูลเก่าอยู่ ควรสั่งให้ลบข้อมูลใน Table ปลายทางทั้งหมดทิ้งก่อนที่จะ นำเข้าใหม่ก็ปัญหานั้นก็น่าจะหายไป


508
error ถึงการอ้างถึง ฟิล F22  มีอยู่จริงหรือเปล่าครับ ถ้า Import จาก excel .xls ให้เปลี่ยนไปนำเข้าจาก ไฟล์ csv ดูครับ

509
ห้อง MS Access / > แทนค่าใน Tables
« เมื่อ: 27 มี.ค. 61 , 16:04:47 »
ทำได้ยังครับ :smile:

510
ห้อง MS Access / > > เปลี่ยนแป้นภาษาด้วย VB
« เมื่อ: 26 มี.ค. 61 , 15:00:49 »
ยินดีครับพี่ ผมใส่ ตัวเปลี่ยนภาษาไทยเอาไว้ให้พี่ด้วย ถ้าต้องการให้เป็นภาษาไทยก็ใช้

โค๊ด: [Select]
call KeyTh

ได้เลยนะครับ

511
ห้อง MS Access / > เปลี่ยนแป้นภาษาด้วย VB
« เมื่อ: 26 มี.ค. 61 , 13:25:36 »
เมื่อกดเครื่องหมาย * ใน textbox1 แล้วให้แป้นพิมพ์เปลี่ยนเป็นภาษาอังกฤษ เราต้องเขียนโค๊ต อย่างไรครับ

สามารถทำได้ครับ กรณีที่เรากดปุ่ม * แล้วให้เปลี่ยนภาษาตามที่เรากำหนดไว้สามารถทำได้ดังนี้
ผมกำหนด textbox ชื่อ text1

คำสั่งบน Module

โค๊ด: [Select]
Private Declare PtrSafe Function ActivateKeyboardLayout Lib "user32.dll" (ByVal mylanguage As Long, Flag As Boolean) As Long
Private Const Eng = 1033 
Private Const Th = 1054
Sub keyEng()
Call ActivateKeyboardLayout(Eng, True)
End Sub
Sub KeyTh()
Call ActivateKeyboardLayout(Th, True)
End Sub

คำสั่ง Event ที่ Text1
โค๊ด: [Select]
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyMultiply Then
Call keyEng
End If
End Sub
ตัวอย่างการใช้งานด้านล่างครับ

512
ห้อง MS Access / > การแยกข้อมูลภายในแถว
« เมื่อ: 14 มี.ค. 61 , 17:08:51 »
ขอดูข้อมูลจากตารางที่อิมพอตมาหน่อยครับ

513
ห้อง MS Access / > ลบข้อมูลซ้ำ
« เมื่อ: 14 มี.ค. 61 , 11:16:10 »
ใช้ ฟังชั้น จากที่โปรแกรมมีมาให้ก็ได้ครับ
ตามในรูปเลย กำหนดว่าจะหาว่า ตรงไหนซ้ำกันแล้วให้แสดงออกมา

514
VDO นี้น่าตรงตามที่ต้องการครับ

เป็นการใช้ Combobox คู่กับ Listbox ครับ VDO มีหลาย Part นะครับ เขาสอนตั้งแต่เริ่มสร้าง จนเสร็จสิ้นเลย อธิบายละเอียดมาก
ผมว่า คำสั่งมันเยอะไป เลยให้ทดลองทำเองเลยน่าจะดีกว่าครับ

515
ใน Form นั้น ข้อมูล Bound กับตัว Control ที่ดึงมาจาก Query หรือเปล่าครับ
ถ้าใช้ ผมว่าใช้คำสั่ง ApplyFilter ในการค้นหาก็ได้ครับ

ตัวอย่างคำสั่ง ใช้ใน Event on Click ที่ตัว CommandBotton
Private Sub Search_Click()
if Not IsNull (ตัว ControlTextBox ที่ใช้ค้นหา) then
DoCmd.ApplyFilter , " CIF like '*' & [Forms]![ชื่อฟอร์ม]![ชื่อ ControlTextBox ที่ใช้ค้นหา] &'*'"
Else
MsgBox "กรุณาระบุ รหัส CIF ก่อน", vbOKOnly, "แจ้ง"
ชื่อ ControlTextBox ที่ใช้ค้นหา.SetFocus
end if
End Sub

หรือส่งไฟล์มาดูผมแก้ให้ทาง pinnarong1115@hotmail.com ก็ได้คับ

516
ไม่เห็นมีข้อมูลอะไรให้ดูเลย


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

517
ห้อง MS Access / > ซ่อน Page Header
« เมื่อ: 06 มี.ค. 61 , 15:15:41 »
ผมลองใช้
ที่ ControlTextBox ใส่
โค๊ด: [Select]
="Page " & [Page] & " of " & [Pages]
ที่ตัวรายงานใส่
โค๊ด: [Select]
Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
Cancel = Me.Page = Me.Pages
End Sub







มันได้ผลครับพี่ลอง Print แล้วเลขหน้าติดมา เว้นแต่หน้าสุดท้ายที่ไม่มีเลขหน้า

518
ห้อง MS Access / > ซ่อน Page Header
« เมื่อ: 06 มี.ค. 61 , 11:08:57 »
ใช้แบบนี้ดูครับซ่อน เลขหน้า หน้าสุดท้าย

Private Sub Report_Load()
If Me.Page = Me.Pages Then
Me.Section(acPageHeader).Visible = False
End If
End Sub


519
ขอดูหน้าฟอร์มที่จะแสดงหน่อยครับ
หรือส่งตัวอย่างมาดู

520
สวัสดีครับได้แล้วครับพี่

ผมทำตัวอย่างด้วย กดปุ่มเพื่อไปเลือกไฟล์ที่จะ นำเข้าข้อมูลโดย ใช้ Function ไปไว้ใน Module
โค๊ด: [Select]
Function selectFile()
    Dim fd As FileDialog, fileName As String
 
On Error GoTo ErrorHandler
 
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
 
    fd.AllowMultiSelect = False
 
    If fd.Show = True Then
        If fd.SelectedItems(1) <> vbNullString Then
            fileName = fd.SelectedItems(1)
        End If
    Else
       
        End
    End If
 
   
    selectFile = fileName
 
    Set fd = Nothing
 
Exit Function
 
ErrorHandler:
    Set fd = Nothing
    MsgBox "Error " & Err & ": " & Error(Err)
 
End Function

ส่วนคำสั่งในการนำเข้าผมใส่ไว้ใน ปุ่ม CommandButton
โค๊ด: [Select]
Private Sub Import_Click()
Dim today As String
today = Now()
          DoCmd.SetWarnings False
          DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "table1", selectFile, True
          Me.stamp = "Update : " & today
              Call saveMemoDate
              Call filltextbox
          DoCmd.SetWarnings True
End Sub
ตรง table1 คือ table ใน Access ที่จะนำเข้าข้อมูล จากไฟล์ Excel
ส่วนการกำหนด วันที่ เราอัพโหลดนั้น ผมใช้ Today() เพราะมันจะเก็บเวลาไว้ด้วย จึงกำหนดตัวแปรเก็บค่าไว้ และเมื่อกด นำเข้าไฟล์
ที่ textBox ชื่อ Stamp จะแสดงวันที่และเวลานำเข้า และจะบันทึกไว้ใน Table ชื่อ MemoDate ที่ได้สร้างไว้เก็บวันที่ นำเข้าข้อมูล
ส่วน คำสั่งในการบันทึกเวลา นำเข้าก็คือ
โค๊ด: [Select]
Sub saveMemoDate()
 On Error GoTo Err_Err
        Set DB = CurrentDb()
        Set rs = DB.OpenRecordset("Memodate", DB_OPEN_DYNASET)
   
    rs.Edit
    rs![Date] = stamp
   
    rs.Update
   
Exit_err:
        Exit Sub
Err_Err:
        MsgBox Error$
        MsgBox ("Data fail try again")
        Resume Exit_err
End Sub

คำสั่งดึงข้อมูลจาก Record ของ ตาราง Memodate ชื่อ Date มาแสดงบน Textbox ชื่อ Stamp
โค๊ด: [Select]
Sub filltextbox()
 On Error GoTo Err_Err
        Set DB = CurrentDb()
        Set rs = DB.OpenRecordset("Memodate", DB_OPEN_DYNASET)
           Me.stamp = rs![Date]
Exit_err:
        Exit Sub
Err_Err:
        MsgBox Error$
        MsgBox ("Data fail try again")
        Resume Exit_err
End Sub
ขั้นตอนสุดท้ายถ้าเราจะให้เปิดฟอร์มมาแล้ว แสดงวันที่นำเข้าล่าสุดก็ไปที่ form event  on load
ใส่
Call filltextbox
เพื่อให้แสดงค่าวันที่ๆเราบันทึกล่าสุดของตาราง MemoDate นั้นเองครับ

521
อ่อจะนำเข้าข้อมูลโดยกำหนด ให้เลือกตำแหน่งของไฟล์  ที่จะนำเข้าก่อน
เมื่อนำเข้าข้อมูลเสร็จ ล้วให้ เก็บวันที่ Import ครั้งล่าสุดไว้ว่าอัพเดทวันที่เท่าไหร่ แบบนั้นไหมครับ

522
ขอดูคำสั่งที่ กด report หน่อยครับเดี่ยวผมคำสั่งให้

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