แสดงกระทู้

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 ... 12 13 14 [15] 16 17 18 ... 21
253
ขอบคุณครับ ผมยังต้องปรับขนาดกระดาษ และ รูปภาพ ด้วยครับเพราะกระดาษที่ใช้พิมพ์มีขนาดประมาณ 3*5 นิ้ว ครับ
ยังหาที่ปรับไม่ได้...แต่จะมีประโยชน์สำหรับผู้ที่ทำเต็มกระดาษเอ4ใช้ได้ทุกกลุ่มสาระการเรียนรู้
เลยครับ



ที่ตั้งรายงานกด ตรงนี้เพื่อกำหนดขนาดที่ต้องการครับ ปกติจะไม่มีขนาดกระดาษ 3 x 5 ให้กด Edit เข้าไปเพื่อเพิ่มขนาดที่เราต้องการ
กำหนด หน่วยเป็น Inch นะครับ


แล้วกำหนดขนาดกระดาษ
เป็นขนาดที่เรากำหนดไว้



ถ้ากำหนดเองแต่ยังไม่ได้ ก็ส่งรหัส TeamView มาที่กล่องข้อความเดี่ยวผมตั้งค่าให้

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

254
พอดีว่าต้องลง Ms Access ใหม่ เป็น 2013 จากเดิมที่เคยใช้ตัว 2010 แล้ว VBA มันไม่ทำงานครับ ต้องแก้ยังไง



ไปตั้งค่า Trust Center ครับ

1) trust center >> trust center setting > macro setting...
ตั้ง enable all...
2) trust center >> trust center setting > ActiveX setting...
ตั้ง enable all....
ไม่เลือก Save mode...

ตัวอย่างการตั้งค่า
https://www.ugetproject.com/wp/ms-office-access/ตั้งค่าให้vbaทำงาน.html
โพสต์นี้ได้รับคำขอบคุณจาก: pirin, Ramida.Elle

255


ถ้าต้องการให้หน้ารายงานแสดงข้อมูล หน้าละ 1 EM หรือ 1 รหัสพนักงาน
กำหนดส่วนหัวของกลุ่มEM เป็น ก่อนส่่วนนะครับ

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

256


ที่เพิ่มเติมคือ
1.สร้าง Module เพื่อสร้างตาราง เพื่อกำหนดช่วงวันที่ Min ของ SinceDay และ Max ของ Today ตาราง  เราก็จะได้ช่วงวันที่ๆต้องการ
2.สร้างคิวรี่ โดยจะกำหนดช่วงให้กับพนักงานแต่ละคน จากตาราง ข้อ 1 โดยกำหนด Criteria >=[SinceDay] And <=[ToDay]
เราก็จะได้ช่วงวันที่ของพนักงานแต่ละคนแล้วครับ



ส่วนตรงฟอร์ม Report ไม่ต้องกำหนดค่าใดๆ แล้ว ให้ลองดูคำสั่งที่ปุ่ม  ส่วนวันที่แสดงคือ min และ max ที่ผมกำหนดไว้ (ใช้อ้างอิงใน Module)
ข้อมูลจะขึ้นเองอัตโนมัติ

ตอนสร้างรายงาน เราใช้ EM หรือรหัสพนักงานเป็น Head Group เพื่อที่จะให้แสดงเป็นรายคนไปครับ

ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: วรวุฒิ

257


ตัวอย่างโปรแกรมครับ
มีระบบเพิ่มรูปภาพ ระบบเก็บชื่อลงในตาราง และระบบรายงานตามที่บอกครับ

(ชื่อห้ามซ้ำกันนะครับ จากตัวอย่างผมให้ ค้นหาจากชื่อ)
ตรงตั้งชื่อใหม่ ถ้าจะใช้ชื่อเดิมก็ไม่ต้องใส่ ชื่อใหม่ ข้ามไปได้เลย
ก่อนใช้โปรแกรม ให้สร้าง Folder ไว้ที่ Drive D: ชื่อ photo1 ก่อน


ตัวอย่างด้านล่าง

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

258
ขอบคุณครับอาจารย์ TTT
โพสต์นี้ได้รับคำขอบคุณจาก: eqsan, k.pitichot

259
สวัสดีครับอาจารย์ทุกท่าน ตอนนี้ผมได้ช่วยสร้าง Project ให้กับเพื่อนสมาชิกใน Board แห่งนี้อยู่ครับผมติดตรงวิธีการสร้าง DayView WeekView ดังในตัวอย่าง


และ presonal View


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

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

260
ห้อง MS Access / : Reserved error 1524 เวลา import
« เมื่อ: 13 มิ.ย. 61 , 15:06:26 »
ผมจะแก้ปัญหาฐานข้อมูล error 3343 โดยผมจะสร้างฐานข้อมูลใหม่แล้ว import ฐานข้อมูลเดิมเข้ามา
แต่ในระหว่างทำการ import ก็ติด Reserved error 1524



เท่าที่ค้นหาดู ไม่ค่อยมีวิธีแก้ปัญหา error นี้เลย ใครมีประสบการณ์เคยเจอ แนะนำหน่อยครับ
ขอบคุณครับ

อ้างถึง
For some reason, some data in one record has been corrupted. The text was replaced with strange symbols.

เว็บนอกมีคนมีปัญหาแบบนี้ครับ เขาบอกว่าเกิดจาก บาง Record มีข้อมูลที่ไม่ถูกต้องอยู่ ให้ลองเช็คดูเบื้องต้นก่อนว่ามีข้อมูลที่มีสัญลักษณ์แปลกปลอมมาหรือไม่  และลองทำ Compact and Repair (ซ่อมแซมฐานข้อมูล)  ดูด้วยครับ

อ้างอิงจากเว็บ http://www.utteraccess.com/forum/index.php?showtopic=1557019
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

261
ผมได้ลองสร้างตัวรายงานขึ้นมาให้โดยกำหนดให้กดเลือกรหัสพนักงานที่ต้องการก่อนแล้ว วันที่เริ่มลา และเวลาจะแสดงอัตโนมัติ



เมื่อกดเปิดรายงานจะได้ประมาณนี้ครับ


รายงานจะแสดงวันที่เรียงลำดับมาเริ่มจากวันเริ่มต้นลา และวันสิ้นสุดการลาของบุคคลนั้นครับ

ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: วรวุฒิ

262
ขอบคุณครับอาจารย์
แต่ผมต้องการแสดงวันที่ของคนนั้นเลยครับ
เช่นในคิวรีผมเป็นแบบนี้ครับ

แต่ผมต้องการReport ออกมาเป็นแบบนี้ครับแต่ทำอย่างไรครับ

ขอบคุณครับ :prettiness:
ส่งอTable นั้นมาครับผมทำตัวอย่างให้ดู
โพสต์นี้ได้รับคำขอบคุณจาก: วรวุฒิ

263
ห้อง MS Access / : สอบถามการ join Output ครับ
« เมื่อ: 09 มิ.ย. 61 , 12:05:42 »
ก่อนเอามา union สร้างคิวรี่ มา บวก หรือ ลบให้เสร็จก่อน แล้วเอาคิวรี่นั้นมา union กันคับเดี่ยว ไว้จะเพิ่มเติมให้นะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

264
วันที่ลา 01/04/2561ถึง10/04/2561

เริ่มบอกตั้งแต่วันที่
01/04/2561     ลาป่วย
02/04/2561     ลาป่วย
03/04/2561     ลาป่วย
...
...
10/04/2561    ลาป่วย
ผมต้องทำในคิวรี่หรือใน Report จึงยากรบกวนอาจารย์หน่อยครับ


ที่ Criteria ของ Field Date ใส่ไปว่า
โค๊ด: [Select]
Between #1/4/2561# And #10/4/2561#
จะแสดง ข้อมูลช่วงระหว่างวันที่ 1 ถึง 10 ครับ

แต่สมมุติช่องสถานะการมาทำงาน มีหลายตัวเลือกเช่น ลาป่วย ประชุม ทำงาน หรือ อื่นๆ ก็ไปกำหนด Criteria ของช่องสถานะการทำงานด้วย

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

265
รบกวนอีกครับ

Sub CalTotal()
Me.Total = CDbl(Nz(Me.Amount, 0)) * CDbl(Nz(Me.Price, 0))
Me.Text37.Requery
End Sub

ช่่วยอธิบาย
CDbl(Nz  คืออะไร
.Requery คืออะไร


ขอบคุณครับ

CDbl คือ การแปลงเป็น double ใช้กรณี ที่ข้อมูลเป็น text หรือจำนวนเต็ม หรืออื่นๆ เมื่อกำหนด double ก็จะได้ค่าเป็นจำนวน มีทศนิยมด้วย


.Requery คือ การสั่ง แสดงผลใหม่เพื่อแสดงค่าล่าสุดที่เปลี่ยนแปลงไป ใช้ใน control หรือ Form หรืออื่นๆแล้วแต่กรณี
โพสต์นี้ได้รับคำขอบคุณจาก: pirin, Tae Songvut, สุรเกตุ แซ่เอี้ย

266
ห้อง MS Access / : Alt+ลูกศรลง
« เมื่อ: 08 มิ.ย. 61 , 18:33:04 »
จะใช้คำสั่ง Alt+ลูกศรลง เพื่อให้  combo ลงอัตโนมัติ แต่ไม่รู้ ว่าจะโค๊ตยังงัยครับ รบกวนอาจารย์ด้วยครับ

ผมสมมุติ Combobox ชื่อ Cb1 นะครับ ใช้ Event Gotfocus
โค๊ด: [Select]
Private Sub Cb1_GotFocus()
Me.Cb1.Requery
Me.Cb1.Dropdown
End Sub
เมื่อ curser ตกที่ combobox นั่นก็จะแสดงรายการทันที

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

267
ขอบคุณค้า อันแรกทำได้แล้วค่ะ เหลือแสดงวันที่ค่ะ
ทำคิวรี่แรกก่อนแบบนี้ครับ

โค๊ด: [Select]
SELECT format(StockDate,"DD-MMM"), Takein, TakeOut, Balance
FROM StockBefore
UNION SELECT format(StockDate,"DD-MMM"), Takein, TakeOut,  '' as Balance
FROM StockCard;

อันตอนต่อไป กำหนด วันที่ โดยรันวันที่ลงมา ผมใช้ การสร้างตาราง ขึ่นมามี 365 วัน ตัวอย่างคำสั่ง สร้างตารางที่จะเก็บไว้ชื่อ TempDate365 ตั้งชื่อ Field ว่า Stockdate
บน Module
โค๊ด: [Select]
Option Compare Database
Public Sub MakeDate365(Optional ByVal pYear As Integer, _
        Optional ByVal pTable As String = "TempDate365", _
        Optional ByVal pField As String = "Stockdate")
    Dim db As DAO.Database
    Dim dte As Date
    Dim dteLast As Date
    Dim intYear As Integer
    Dim rs As DAO.Recordset
    Dim strMsg As String

On Error GoTo ErrorHandler

    intYear = IIf(pYear = 0, Year(Date), pYear)
    dte = DateSerial(intYear, 1, 1)
    dteLast = DateSerial(intYear, 12, 31)

    Set db = CurrentDb
    Set rs = db.OpenRecordset(pTable, dbOpenTable, dbAppendOnly)

    Do While dte <= dteLast
        rs.AddNew
        rs.Fields(pField).Value = dte
        rs.Update
        dte = dte + 1
    Loop
    rs.Close

ExitHere:
    On Error GoTo 0
    Set rs = Nothing
    Set db = Nothing
    Exit Sub

ErrorHandler:
    strMsg = "Error " & Err.Number & " (" & Err.Description _
        & ") in MakeDate365"
    MsgBox strMsg
    GoTo ExitHere
End Sub



สร้างคิวรี่ใหม่ ชื่อ  StockQuery2
กำหนดค่าดังนี้
โค๊ด: [Select]
SELECT TempDate365.StockDate, IIf(IsNull([Takein]),0,[Takein]) AS Take_in, IIf(IsNull([Takeout]),0,[Takeout]) AS Take_out, (select  [BeforeQty] from [StockBeforeQuery] ) AS Before_Qty
FROM StockQuery RIGHT JOIN TempDate365 ON StockQuery.StockDate = TempDate365.StockDate
WHERE (((TempDate365.StockDate) Between [forms]![Main]![StockBefore] And [forms]![Main]![EndDate]));

ที่คิวรี่ตัวต่อไป ชื่อ StockQuery3
โค๊ด: [Select]
SELECT T1.[Before_Qty]+(select nz(sum(T2.Take_in),0) from StockQuery2 as T2 where  T2.StockDate <= T1.StockDate)-
(select nz(sum(T2.Take_out),0) from StockQuery2 as T2 where T2.StockDate <= T1.StockDate) AS TotalQty, *
FROM StockQuery2 AS T1
ORDER BY T1.StockDate;

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


ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: Earth, diehard4

268


จากตัวอย่างคุณ ชิ้น/แพ็ก น่าจะไม่ได้นำไปคำนวน น่าจะคำนวน ที่ จำนวน x ราคา และแสดงผลรวม
แต่ผมคิดว่า ตรงชิ้น/แพ็ก และราคานั้น น่าจะต้องไปกำหนดที่ตาราง Product ไว้เลยนะครับ เพราะมันเป็น Detail ของตัวสิ้นค้านั้นๆอยู่แล้ว
เราแค่ใส่รหัสสินค้า และ กำหนดจำนวน แค่นั้นครับ ส่วน textbox อื่นเราก็ปิดไม่ให้มีการกรอกหรือห้ามแก้ไขไปเลยจะดีกว่า

ซึ่งผมได้ทำตัวอย่างโดยแก้ไขให้ใหม่โดยมีส่วนที่เพิ่มเข้ามาดังนี้
1.ที่ตาราง Product นั้นเพิ่ม Field Price และ Quality ไว้เลย ในกรณีที่เป็นสินค้าใหม่ จะมีแจ้งเตือนให้ใส่ข้อมูลจำนวนต่อ/แพ็ก 
และราคาในครั้งแรก เมื่อใส่รหัสสินค้าครั้งต่อไปจะแสดงให้อัตโนมัติ
2.กรณีที่เป็นรหัสสินค้าเก่าที่ลงทะเบียนไว้แล้วจะแสดง (ชื่อสินค้า)  (จำนวน/แพ็ก)  (ราคา) มาให้และจะไม่ได้สามารถกดเข้าไปแก้ไขได้
(ป้องกันข้อผิดพลาด) และสะดวกกับเราด้วยเพราะเราแค่ใส่จำนวนเข้าไปเท่านั้น
3.ให้แสดงผลรวมทั้งหมดไว้ด้านล่างสุด (ไม่ได้เก็บลงในตาราง) แต่ ส่วนท้ายของรายการสินค้าจะเก็บไว้ในตาราง BillDetail ชื่อ Total
คำสั่งมีการเพิ่มเติ่มบางส่วนถ้าไม่เข้าใจตรงไหนสอบถามได้นะครับ

ส่วนจากที่ถามมาผมได้ใช้ฟังชั่น Nz เข้ามาด้วยเพื่อให้ textbox ที่ว่าง อยู่ให้ค่าเท่ากับ 0
ในตัวอย่างเพิ่มคำสั่ง โดยผมรวมกลุ่มไว้เป็น Sub ไว้เพื่อสะดวกในการใช้งาน

คำสั่งที่ textbox ชื่อ Price
โค๊ด: [Select]
Private Sub Price_AfterUpdate()
Call CalTotal
End Sub

คำสั่งที่ textbox ชื่อ Amount
โค๊ด: [Select]
Private Sub Amount_AfterUpdate()
Call CalTotal
End Sub

อันนี้คือ คำสั่งที่รวมไว้อันเดี่ยวแล้ว คือให้ จำนวน(Amount) x ด้วย ราคา(Price)
แล้ว ใช้ Call...ชื่อ Sub 

โค๊ด: [Select]
Sub CalTotal()
Me.Total = Nz(Me.Amount, 0) * Nz(Me.Price, 0)
End Sub

ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: pirin, Tae Songvut

269
ห้อง MS Access / : ระบบจองห้องประชุม
« เมื่อ: 05 มิ.ย. 61 , 21:01:05 »
ผมส่ง ID Line ไปทางข้อความนะครับ พี่ อาจจะต้องคุยกันยาวๆ เดี่ยวผมช่วยเต็มที่ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak, eqsan

270
ทำคิวรี่แรกก่อนแบบนี้ครับ

โค๊ด: [Select]
SELECT format(StockDate,"DD-MMM"), Takein, TakeOut, Balance
FROM StockBefore
UNION SELECT format(StockDate,"DD-MMM"), Takein, TakeOut,  '' as Balance
FROM StockCard;
โพสต์นี้ได้รับคำขอบคุณจาก: Earth

หน้า: 1 ... 12 13 14 [15] 16 17 18 ... 21