แสดงกระทู้

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

หน้า: [1] 2 3 4 5
1
รู้สึกกันไหมว่าหน้าเว็บฉบับ PHP กระทู้เก่าบอร์ด อ.Yeadram จะโหลดช้ากว่าฉบับ ASP ดั้งเดิมอยู่ 1-2วินาที :dizzy:
แต่ PHP vs ASP กระทู้เก่าบอร์ด อ.สุภาพ ไชยา กลับแทบไม่ต่างกันเลย

หมายเหตุ
ดาต้าเบสอ.สุภาพ ไชยา เป็น mdb จึงให้ Access เปิดแล้วส่งเข้า MySQL
ดาต้าเบสอ.yeadram เป็น MS SQL ตอนแรกพยายามใช้วิธีตามยูทูปต่างๆซึงแนวทางคล้ายกันนั่นคือใช้โปรแกรม SSMS , MS SQL Server ทำ ODBC แล้วให้ mysql-workbench ไปดึงข้อมูลมา ผลคือไม่ประสบความสำเร็จ(ไม่มี SQL Server ใช้วิธี ODBC ดึงจากโฮส) จึงเปลี่ยนแนวคิดไปใช้วิธีให้แอ็คเซสดึงมาแล้วส่งออกหรือก็คือ MS SQL --> Access --> mysql ขั้นตอนในการทำนั้นง่ายและรวดเร็วมากแต่จะเกี่ยวไหมน้อที่ทำให้ PHP ดึงข้อมูลช้า=โหลดช้า
 :zzz: :zzz: :zzz:

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

2
อ้างถึง
สิ่งที่หนูต้องการคือจะแยกเอาเฉพาะ ข้อความแรก มาใช้เท่านั้น
โดยหนูคิดวางแผนว่าจะดักจับเอาช่วงที่เขาเริ่มเว้นวรรคหรือช่วงที่เขาเริ่มใส่วงเล็บ ประมาณนี้ค่ะอาจารย์

ใช้การสร้างฟังชั่นในการแสดงผลในคิวรี่นะครับ
วิธีการ
1 สร้าง Module ใส่ Code
โค๊ด: [Select]
Public Function GetString(FieldTarget As String) As String
Dim CuttingString As String

If Not (InStr(FieldTarget, "(") = 0) Then
CuttingString = Left(FieldTarget, InStrRev(FieldTarget, "(") - 1)
ElseIf Not (InStr(FieldTarget, " ") = 0) Then
CuttingString = Left(FieldTarget, InStrRev(FieldTarget, " ") - 1)
ElseIf Not (InStr(FieldTarget, "") = 0) Then
CuttingString = FieldTarget
End If

GetString = Trim(CuttingString)
End Function

2.ที่คิวรี่ใส่แบบนี้
โค๊ด: [Select]
คำทักทาย: GetString([ทักทาย])
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

3
เย้.... :shout:
สำเร็จแล้ว ขอบคุณมากค่ะอาจารย์
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

4
ขอบคุณครับ ได้แล้วครับผม
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

5
เรียนเพิ่มเติมครับ
ชุดคำสั่งจะเอาผลลัพท์ค่าแรกของแถวไปเก็บที่ เลขที่สด1 ทุกแถวเลยครับ(เป็นตัวเลขเดียวกันท้งหมด)
ผมต้องการแบบนี้ครับ
เลขที่สด1     ผลลัพท์          รหัส                        ข้อมูล
1                   1            30150144001   30150144000
2                   2            30150144002   30150144000
8                   8            30150144008   30150144000
ผมต้องการเอาผลลัพท์ที่ได้มาเก็บที่ฟิวส์ เลขที่สด1 เพียงกดปุ่มครั้งเดียวครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

6
หลังอัพเดทข้อมูลฟิวล์ Barcode(กล่องท่านชื่อ Text6) สั่งให้นำ6ตัวท้ายมาใส่กล่อง,ฟิวล์ IDProduct
โค๊ด: [Select]
Private Sub Text6_AfterUpdate()
    Me.IDProduct = Right(Me.Text6, 6)
End Sub

หรือเมื่อใส่ IDProduct แล้วให้ Barcode = A$+IDProduct
โค๊ด: [Select]
Private Sub IDProduct_AfterUpdate()
    Me.Text6 = "A$" & Me.IDProduct
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

7
ลองไปดูในไฟล์ front-end ที่แยกมาครับว่า ลิ้งไปที่ไหน

โดยคลิกที่ External data > Linked table manager



จากนั้นจะแสดงหน้าต่างด้านล่าง



ให้ดูว่าที่อยู่ของไฟล์  back-end ตารางฐานข้อมูลอยู่ที่ไหน ก็ให้เอาไฟล์ไปวางไว้ตรงนั้น ในเครื่องใหม่
เช่น D:\database\back-end.accdb ที่เครื่องใหม่ ก็ต้องเอามาไว้ตรงนี้เหมือนกัน

--------
หรืออีกวิธีก็คือ สร้างลิ้งใหม่เลย โดยการลบตารางเก่าออก (*ต้องเป็นตารางที่ link table มานะ โดยมันจะมีลูกศรชี้ไปทางขวาเล็ก ๆ ที่รูปตารางแบบนี้ ) ถ้าลบตารางปกติ ข้อมูลหาย !!!


เมื่อลบแล้วให้ไปที่ External Data > New Data Source > From File > Access (กณีที่เราใช้จากไฟล์ access)



เลือกที่อยู่ของไฟล์ฐานข้อมูล back-end แล้วเลือกตัวเลือกด้านล่าง (Link to the database ...)



จะแสดงหน้าต่างให้เลือกตารางที่ต้องการ คลิกเลือก หรือเลือกทั้งหมดก็แล้วแต่ จากนั้นกด ok เป็นอันเรียบร้อย
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

8
โปรแกรม พิมพ์ Slip เงินเดือน
เพื่อศึกาษารออกแบบฐานข้อมูลเบื้องต้น
การเพิ่มข้อมูล , ค้นหา, พิมพ์


โหลดได้ที่
http://access.crtrading.net/filedownload/salaryDatabase.rar











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

9
ลองใส่โค้ดดูแล้วครับ โค้ดไม่ทำงานครับ
ลองแก้ rst!Status เป็น rst!studstatus ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

10
อันนี้ตัวอย่างนะครับ
ถ้าของท่านไม่ได้และไฟล์นั้นสามารถส่งทางข้อความให้ตรวจสอบได้ก็คงง่ายขึ้น
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

11
ลองใส่โค้ดดูแล้วครับ โค้ดไม่ทำงานครับ
ถ้าท่าน copy code นี้แล้วก็ไปวางแต่ไม่ได้กำหนดให้ปุ่มรับอีเว้นนี้เข้าไปมันก็จะไม่ทำงานครับ

ลองเช็คตามนี้นะครับกดที่ปุ่ม command botton ตรง event กดเข้าไปแล้วก็เลือกทำงานตามอีเว้นที่ใช้โค้ดนะครับกดเข้าไปแล้วก็เอาโค้ดที่ผมให้ไปลงไปวางแล้วลองดูใหม่อีกครั้งนะครับว่าได้หรือเปล่า

เพราะจากที่เช็คไม่น่าจะมีอะไรผิดพลาดครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

12
ที่ปุ่มปรับโค๊ดเป็นแบบนี้นะครับ
โค๊ด: [Select]
Private Sub Command145_Click()
On Error Resume Next
Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("M1_GIF", dbOpenDynaset)
    rst.MoveFirst
    Do Until rst.EOF
    rst.Edit
    If rst!Rank > 36 Then
    rst!Status = "2"
    ElseIf rst!Rank <= 36 Then
    rst!Status = "1"
    End If
    rst.Update
       rst.MoveNext
    Loop
   Me.Recalc
    rst.Close: Set rst = Nothing
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

13
Me.rank คืออะไรครับ​ รับค่าจาก​ TextBox​ หรือเปล่า
แล้วตัวแปร​ rank ประกาศเพื่ออะไร
ส่งรูปมาให้ดูดีกว่าครับ​ นึกภาพไม่ออก
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

14
> ต้องการให้อัพเดทฟิวล์ studstatus ในทุกข้อมูลตาม rank ที่อยู่บนหน้าฟอร์มหรือตาม rank ที่อยู่เก็บอยู่ใน M1_GIF(เท่ากับว่าใน M1_GIF ต้องมีฟิวล์ studstatus,rank)
> M1_GIF.studstatus ใช้แค่ studstatus
> ลองถอดวงเล็บออกจากเป็น DoCmd.RunSQL sql ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

15
ห้อง MS Access / : เปิดฟอร์มแล้ว ...
« เมื่อ: 09 เม.ย. 64 , 09:59:27 »
1. เปิดฟอร์มแล้วให้ซ่อนหน้าต่างนำทาง โค้ดอย่างไรครับ
2. เปิดฟอร์มแล้วให้ขอบซ้ายของฟอร์มชิดขอบหน้าต่าง (ตอนนี้หน้าต่างมันอยู่กึ่งกลาง) กำหนดตรงไหนครับ
ข้อ1 ใส่ใน Event Form_Load ก็ได้ครับ

    Private Sub Form_Load()
    DoCmd.ShowToolbar "Ribbon", acToolbarNo  'ซ่อน Ribon ด้านบน
    DoCmd.NavigateTo "acNavigationCategoryObjectType"
    DoCmd.RunCommand acCmdWindowHide  'ซ่อนหน้าต่างนำทาง
    End Sub

ข้อ2
1.ประกาสตัวแปลไว้บนสุดของคำสั่ง
    Public FrmTop  As Long
    Public FrmLeft As Long

2.ที่ Event Form_Activate() ใส่โค๊ดนี้เข้าไป
    Private Sub Form_Activate()
    FrmTop = Forms![ชื่อฟอร์ม].WindowTop
    FrmLeft = Forms![ชื่อฟอร์ม].WindowLeft
    FrmTop = Me.WindowTop
    FrmLeft = Me.WindowLeft
    End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

16
จากไฟล์ จขกท ตัวฟอร์มย่อยจะดึงข้อมูลที่มีอยู่แล้วมาแสดง(Datasheet View)แล้วตัวฟอร์มหลักจะสั่งกรองให้เหลือ"เลขที่ใบเบิก"ที่ต้องการดู,แก้ไขเท่านั้น
โจทย์ ฟอร์มหลักจะเขียนคำสั่งอย่างไรให้แก้ไขฟิวล์ "complete" ในทุกเรคคอร์ดที่มี "เลขที่ใบเบิก" เดียวกัน :question:
คำตอบ อยู่โพสต์ถัดไป :smile:

ปล.ชื่อฟิวล์,ชื่อ....ที่ใช้ภาษาไทยแก้เป็นภาษาอังกฤษก่อนจะเกิดปัญหาในอนาคตนะครับ
ตย.ชื่อฟอร์มย่อย me.¿ÍÃìÁÂèÍÂ_RssmNew_filter เวลาเรียกใช้บน VBA
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

17
B > รับ PIPE 20 M ......

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

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


โค๊ด: [Select]
Option Compare Database

Private Sub SLBoss1_Click()
Call unOption
Me.SLBoss1 = True
Me.Image11.Picture = CurrentProject.Path & "\Pics\" & "card_30021.jpg"
End Sub
Private Sub SLBoss2_Click()
Call unOption
Me.SLBoss2 = True
Me.Image11.Picture = CurrentProject.Path & "\Pics\" & "card_30017.jpg"
End Sub
Private Sub SLBoss3_Click()
Call unOption
Me.SLBoss3 = True
Me.Image11.Picture = CurrentProject.Path & "\Pics\" & "card_30015.jpg"
End Sub
Private Sub SLBoss4_Click()
Call unOption
Me.SLBoss4 = True
Me.Image11.Picture = CurrentProject.Path & "\Pics\" & "card_30011.jpg"
End Sub
Private Sub SLBoss5_Click()
Call unOption
Me.SLBoss5 = True
Me.Image11.Picture = CurrentProject.Path & "\Pics\" & "card_30006.jpg"
End Sub

Sub unOption()
'ชุดคำสั่งเพี่อให้ตัวเลือกทั้งหมดถูกยกเลิก
Dim ctl As Control
    For Each ctl In Me.Controls
     Select Case ctl.ControlType
       Case acOptionGroup, acOptionButton
           ctl.Value = Null
       Case acCheckBox
          ctl.Value = False
    End Select
   Next
   Set ctl = Nothing
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

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