ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 4030|ตอบกลับ: 2

(VB.net) การกำหนดค่าวันที่ย้อนหลัง 3 เดือน

[คัดลอกลิงก์]

5

กระทู้

13

โพสต์

190

เครดิต

Member

Rank: 2

เครดิต
190

แก้ไขครั้งสุดท้ายโดย kai เมื่อ 2018-10-17 13:27

ตอนเขียน vb6
    dtpFinish.Value = Date
    dtpStart.Value = Date - 30

พอเป็น .net
ผมจะต้องเขียนอย่างไรครับ เพื่อให้ได้วันที่ย้อนหลัง 30 วัน
     dtpFinish.Value = Date.Today
    dtpStart.Value = ?????

อีกคำถามครับ
    Private Sub LoadData_Stock_IN(ByVal d_start As String, ByVal d_fin As String)
        sql = "SELECT DateDocInDate, DocInMerge, Remark," & _
                "FROM stStockIn_Name " & _
                "ORDER BY DocInDate DESC, DocInMergeAll"
        mduDB.OpenCN()
        DA = New SqlClient.SqlDataAdapter(sql, cn)
        DS = New DataSet
        DA.Fill(DS, "ListIN")

        dtgSt.DataSource = DS.Tables("ListIN")

        '***************************
        Me.HeadGrid()
    End Sub


ฟิลด์ DateDocInDate เก็บข้อมูล วันที่ เป็น String
เช่น 20181017
ตอนที่แสดงหน้า dtgSt
ผมต้องการให้แสดงเป็น 17/10/2018
โดยผมจะสามารถใส่ functiom แปลงค่า ครอบที่ ฟิลด์ DateDocInDate ได้หรือไม่ครับ
และจะต้องเขียนอย่างไรครับ

หรือหลังจากที่ ได้ข้อมูลจาก datasource แล้ว
ผมจะเขียนแทรกตรงส่วนไปนของ Code ได้บ้างครับ
เพื่อให้ได้ผลลัพธ ตามที่ต้องการ (20181017 = 17/10/2018)


ขอบคุณครับ


311

กระทู้

502

โพสต์

6080

เครดิต

ผู้ดูแลระบบ

ทองก้อน ทับทิมกรอบ

Rank: 9Rank: 9Rank: 9

เครดิต
6080
โพสต์ 2018-10-17 15:00:35 | ดูโพสต์ทั้งหมด

สำหรับการแปลงรูปแบบวันที่ใน SQL ก็จะใช้ CONVERT(DateTime, "20181017", รหัสรูปแบบ) <-- ไปหารายละเอียดเพิ่มล่ะกันครับ ... แต่สำหรับผม ผมมักเขียนเป็นฟังค์ชั่นแทนครับ เพราะต้องตรวจสอบความถูกต้องของวันที่ก่อนด้วย ...
  1.     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  2.         '// บรรทัดแรกก็นับวันที่ถอยหลัง 30 วัน, บรรทัดล่าง ผมใช้ฟังค์ชั่นจัดรูปแบบแทน
  3.         MsgBox(Now.AddDays(-30) & vbCrLf & _
  4.             ConvertDate("20181017"))
  5.         End
  6.     End Sub

  7.     Function ConvertDate(ByVal MyDate As String) As String
  8.         Return Microsoft.VisualBasic.Right(MyDate, 2) & "/" & _
  9.             Mid(MyDate, 5, 2) & "/" & _
  10.             Microsoft.VisualBasic.Left(MyDate, 4)
  11.     End Function
คัดลอกไปที่คลิปบอร์ด




สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด

5

กระทู้

13

โพสต์

190

เครดิต

Member

Rank: 2

เครดิต
190
 เจ้าของ| โพสต์ 2018-10-17 15:29:11 | ดูโพสต์ทั้งหมด

thongkorn ตอบกลับเมื่อ 2018-10-17 15:00
สำหรับการแปลงรูปแบบวันที่ใน SQL ก็จะใช้ CONVERT(DateTime, "20181017", รหัสรูปแบบ)

ขอบคุณครับ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2024-5-10 09:12 , Processed in 0.177436 second(s), 4 queries , File On.

Powered by Discuz! X3.4, Rev.62

Copyright © 2001-2020 Tencent Cloud.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้