Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > รบกวนด้วยครับ VB2008 ทำ 2 Connection จะ SELECT INTO MS-SQL ระหว่าง access2000 กับ MS-SQL 2005 โดยเลือกจาก DateTimePicker ครับ



 

รบกวนด้วยครับ VB2008 ทำ 2 Connection จะ SELECT INTO MS-SQL ระหว่าง access2000 กับ MS-SQL 2005 โดยเลือกจาก DateTimePicker ครับ

 



Topic : 064275



โพสกระทู้ ( 10 )
บทความ ( 0 )



สถานะออฟไลน์




รบกวนด้วยครับ VB2008 Express ทำ 2 Connection จะ SELECT INTO MS-SQL ระหว่าง access2000 กับ MS-SQL 2005 Input จาก DataTimePicker 2 Object ครับ

ตอนนี้ผม Connect ได้แล้ว แต่จะดึงข้อมูลจาก Access มาใส่ใน MS-SQL 2005 ครับ
เคยใช้ SELECT INTO แต่พอเป็น VB แล้วงงครับ
ตัวอย่างโค้ดครับ

Code (VB.NET)
Imports System.Data.SqlClient
Imports System.Data.OleDb

Public Class Form1

    ' connection sql
    Dim con As New SqlConnection("Data Source=127.0.0.1;Uid=sa;PASSWORD=OnlY@dmln;Database=finger;integrated Security=true")
    Dim da As SqlDataAdapter
    Dim ds As New DataSet

    ' connect access
    Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\finger\finger.mdb")
    Dim accda As OleDbDataAdapter
    Dim accds As New DataSet

' ส่วนแสดงผลครับ

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'DataGrid เอามาแสดงผลว่า Connect ได้ครับ
'ต้นทาง
        da = New SqlDataAdapter("select TOP 100 USERID, CHECKTIME from CHECKINOUT where CHECKTIME BETWEEN CONVERT(DATETIME, '2006-01-01 00:00:00', 102) AND CONVERT(DATETIME, '2006-12-31 00:00:00', 102)", con)
        da.Fill(ds, "USERID")
        DataGridView1.DataSource = ds.Tables("USERID")

'ปลายทาง
        accda = New OleDbDataAdapter("select TOP 100 USERID, CHECKTIME from CHECKINOUT", Conn)
        accda.Fill(accds, "USERID")
        DataGridView2.DataSource = accds.Tables("USERID")


    End Sub


ข้อมูลจะถูกเลือกจากเงื่อนไขวันที่ โดยต้นทางเก็บใน access 2000 ครับ รูปแบบวันที่ใน Access คือ dd/mm/yyyy hh:mm ครับ
ผมลองใช้ between แล้ว output ไม่ออกครับ

ขอบคุณล่วงหน้าครับ



Tag : .NET, Ms Access, Ms SQL Server 2008, Win (Windows App), VB.NET









ประวัติการแก้ไข
2011-08-04 18:24:23
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-08-04 17:57:56 By : pnptoday View : 1965 Reply : 7
 

 

No. 1



โพสกระทู้ ( 10 )
บทความ ( 0 )



สถานะออฟไลน์


Code (VB.NET)
Imports System.Data.SqlClient
Imports System.Data.OleDb

Public Class Form1

' connection sql
Dim con As New SqlConnection("Data Source=127.0.0.1;Uid=sa;PASSWORD=OnlY@dmln;Database=finger;integrated Security=true")
Dim da As SqlDataAdapter
Dim ds As New DataSet

' connect access
Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\finger\finger.mdb")
Dim accda As OleDbDataAdapter
Dim accds As New DataSet

' ส่วนแสดงผลครับ

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'DataGrid เอามาแสดงผลว่า Connect ได้ครับ
'ต้นทาง
da = New SqlDataAdapter("select TOP 100 USERID, CHECKTIME from CHECKINOUT where CHECKTIME BETWEEN CONVERT(DATETIME, '2006-01-01 00:00:00', 102) AND CONVERT(DATETIME, '2006-12-31 00:00:00', 102)", con)
da.Fill(ds, "USERID")
DataGridView1.DataSource = ds.Tables("USERID")

'ปลายทาง
accda = New OleDbDataAdapter("select TOP 100 USERID, CHECKTIME from CHECKINOUT", Conn)
accda.Fill(accds, "USERID")
DataGridView2.DataSource = accds.Tables("USERID")


End Sub







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-04 18:13:25 By : pnptoday
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

รันใน SQL Query Analyzer มันผ่านหรือเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-04 21:26:52 By : webmaster
 

 

No. 3



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


หมายถึงไม่สามารถทำเงื่อนไขวันที่กับฐานข้อมูล Access หรือครับ
ถ้าจำไม่ผิด การใส่เงื่อนไขวันที่ของ Access ต้องมีเครื่องหมาย # และมีรูปแบบ m/d/yyyy
เช่น CHECKTIME Between #8/1/2011# And #8/6/2011#
1-6 ส.ค. 2554

Code
SELECT TOP 100 USERID, CHECKTIME from CHECKINOUT
WHERE CHECKTIME Between #8/1/2011# And #8/6/2011#

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-05 09:20:48 By : watcharop
 


 

No. 4



โพสกระทู้ ( 10 )
บทความ ( 0 )



สถานะออฟไลน์


เรียน mr.win
ms-access ผมลองใช้ตัวช่วยสร้าง Query จากตัวมันเองผลลัพท์ ออกปกติครับ
โดยใช้ between #01/01/2011# and #31/01/2011# ครับ

เรียน คุณหางอึ่งครับ

ใช่ครับ access ใช้ between ใน VB แล้ว output ไม่ออกเช่นกันครับ
ผมลองใส่ # แล้วไม่ได้เหมือนกันครับ


ส่วนรูปภาพคือตัวอย่างโปรแกรมที่ต้องการครับ

example

ควรใช้คำสั่งประมาณไหนครับ
ผมไม่ค่อยเข้าใจเรื่องการใช้ คำสั่งใน VB ครับเคยเขียนแต่ PHP
ถ้าจะใช้รูปแบบ Select into ms-sql from (select ms-access where CHECKTIME between text1.text and text2.text)
ประมาณนี้ต้องกำหนดตัวแปรหรือกำหนด parameter ยังไงครับ

ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-05 12:20:52 By : pnptoday
 


 

No. 5

Guest


มาติดตามดูครับโค๊ดเค้าเขียนกันยังไง อิอิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-10 13:07:27 By : Guest
 


 

No. 6



โพสกระทู้ ( 10 )
บทความ ( 0 )



สถานะออฟไลน์


อับเดทข้อมูลครับ
ล่าสุดผมใช้ select between จาก access ได้แล้วนะครับ
ตาม Code ด้านล่างครับ
DateTimePicker ต้องกำหนด Format Property เป็น short ด้วยนะครับ
Code (VB.NET)
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        accda = New OleDbDataAdapter("select TOP 100 CHECKINOUT.USERID, CHECKINOUT.CHECKTIME from CHECKINOUT WHERE (CHECKINOUT.CHECKTIME between #" & DateTimePicker1.Text & "# and #" & DateTimePicker2.Text & "#) ", Conn)
        accda.Fill(accds, "USERID")
        DataGridView2.DataSource = accds.Tables("USERID")


    End Sub

แต่ยังเหลือการ Insert Into SQL from access ต้องเขียนโค๊ดประมาณไหน
รบกวนผู้รู้ช่วยชี้แนะด้วยครับ

ขอบคุณครับสำหรับแหล่งแบ่งปันความรู้ที่ดีแห่งนี้


ประวัติการแก้ไข
2011-08-11 18:05:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-11 18:05:01 By : pnptoday
 


 

No. 7



โพสกระทู้ ( 10 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ !!!!!
ต้องใช้ Loop while มาช่วยครับ ได้แนวคิดจากเพื่อนร่วมอาชีพแนะนำมาครับ
โดยต้อง select ms-access มาทีละ Record มาเก็บไว้ในตัวแปล
แล้วนำค่าตัวแปลที่ได้มา Insert INTO ที่ SQL อีกทีครับ

เรื่องการ Select between จาก ms-Access ต้องระวังเรื่องวันที่ครับ
เพราะ ms-access ของผมมันเก็บไว้เป็น yyyy/mm/dd hh:mm:ss
แต่เวลา Query ออกมาดันต้องใช้คำสั่ง between #mm/dd/yyyy# and #mm/dd/yyyy#
ทำให้พอ Insert ไปที่ SQL แล้ว Format date ไม่ตรงต้องแปลงค่าให้ตรงก่อน
โดยการเอามาเก็บในตัวแปลแล้วใช้ substring ในการแยกตำแหน่งวันเดือนปี
เพื่อมาจัดเรียงอีกครั้งครับ
ขอบคุณอีกครับสำหรับเพื่อนๆ พี่ๆ ที่ชี้แนะแนวทางครับ

Code (VB.NET)
      While valcount <= valcutend
            strOleAdd = "select CHECKINOUT.AUTOID, CHECKINOUT.USERID, CHECKINOUT.CHECKTIME from CHECKINOUT WHERE (CHECKINOUT.AUTOID =" & valcount & ")"
            objCommand = New OleDbCommand(strOleAdd, objConnection)
            'Get a datareader
            objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
            iarray = 0
            ReDim valUSERID(100)
            ReDim valCHECKTIME(100)
            objDataReader.Read()
            valUSERID(iarray) = objDataReader("USERID")
            valCHECKTIME(iarray) = objDataReader("CHECKTIME")
            valCHECKTIMEConvDay = valCHECKTIME(0)
            valCHECKTIMEConvMonth = valCHECKTIME(0)
            valCHECKTIMEConvYear = valCHECKTIME(0)
            valCHECKTIMEConvDay = valCHECKTIMEConvDay.Substring(0, 2)
            valCHECKTIMEConvMonth = valCHECKTIMEConvMonth.Substring(3, 2)
            valCHECKTIMEConvYear = valCHECKTIMEConvYear.Substring(6, 13)
            valCHECKTIMEConvOK = "" & valCHECKTIMEConvMonth & "/" & valCHECKTIMEConvDay & "/" & valCHECKTIMEConvYear & ""
            'MessageBox.Show(valCHECKTIMEConvDay, valCHECKTIMEConvMonth)
            lbUSERID.Text = valUSERID(0)
            lbCHECKTIME.Text = valCHECKTIME(0)
            lbusershow.Text = valcount.ToString
            daSQLAdd = New SqlCommand("INSERT INTO CHECKINOUT (USERID, CHECKTIME, CHECKTYPE, sn) values ('" & valUSERID(0) & "', '" & valCHECKTIMEConvOK & "','" & branch & "', '" & valcount & "')", con)
            daSQLAdd.Connection.Open()
            daSQLAdd.ExecuteNonQuery()
            daSQLAdd.Connection.Close()
            valcount += 1
            valprgInc += 1
            prgbar.Value = (valprgInc / countall) * 100
        End While

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-17 20:55:13 By : pnptoday
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนด้วยครับ VB2008 ทำ 2 Connection จะ SELECT INTO MS-SQL ระหว่าง access2000 กับ MS-SQL 2005 โดยเลือกจาก DateTimePicker ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่