1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
Public conn As SqlConnection
Public CmdS As SqlCommand
Public da As SqlDataAdapter
Public ds As New DataSet()
Dim Appli As New Excel.Application
Public strSql As String
Dim Ligne As DataRow
Dim Colonne As DataColumn
Public strConn As String = "Initial Catalog=TaBase;Data Source=TonServeur;User ID=TonUser;Password=TonMdp;"
' Requête multi-tables
strSql = "SELECT R.ESRC_FILE, R.RC_NUM, R.PS_CODE, CU.INV_NAME, "
strSql = strSql & "CASE WHEN R.ADDR_NUM = 0 THEN C.SIT_NAME ELSE A.CT_NAME END , "
strSql = strSql & "CASE WHEN R.ADDR_NUM = 0 THEN C.SIT_TOWN ELSE A.CT_TOWN END , "
strSql = strSql & "D.DWGBBSNUM, D.DWGTITLE, R.INVWEIGHT, R.DELIVASKED, R.CUST_REF, "
strSql = strSql & "B.TYWO_CODE, D.PROD_NUM, E.INV_WGHT, E.STATUS FROM DWGBBS AS D "
strSql = strSql & "JOIN REF_PS AS R ON R.ESRC_FILE = D.ESRC_FILE AND R.RC_NUM = D.RC_NUM AND R.PS_TITLE = D.DWGBBSNUM "
strSql = strSql & "JOIN CONTRACT AS C ON C.ESRC_FILE = D.ESRC_FILE AND C.RC_NUM = D.RC_NUM "
strSql = strSql & "LEFT JOIN CONTRADR AS A ON A.ESRC_FILE = D.ESRC_FILE AND A.ES_NUM = D.ES_NUM AND A.SEQ_NUM = R.ADDR_NUM "
strSql = strSql & "JOIN CUSTOMER AS CU ON CU.CUST_CODE = C.CUST_CODE "
strSql = strSql & "JOIN ELEMENT AS E ON E.ESRC_FILE = R.ESRC_FILE AND E.RC_NUM = R.RC_NUM AND E.PROD_NUM = D.PROD_NUM " 'AND E.STATUS = '0' "
strSql = strSql & "LEFT JOIN BARGEN AS B ON B.ESRC_FILE = R.ESRC_FILE AND B.RC_NUM = R.RC_NUM AND B.PROD_NUM = D.PROD_NUM AND B.ELT_NUM = E.ELT_NUM AND B.BAR_NUM = '1'"
strSql = strSql & "WHERE R.DELIVASKED BETWEEN '" & DateDebut & "' AND '" & DateFin & "' AND D.RC_NUM <> 1 ORDER BY R.DELIVASKED, CU.INV_NAME, R.PS_CODE, E.STATUS"
' Connexion à SQL et chargement DataSet
conn = New SqlConnection(strConn)
conn.Open()
CmdS = New SqlCommand(strSql)
da = New SqlDataAdapter(CmdS)
CmdS.Connection() = conn
da.Fill(ds, "REF_PS")
' Noms des colonnes du DataGrid
NomCol(0) = "DOSSIER"
NomCol(1) = "N° CLIENT"
NomCol(2) = "SÉQUENCE"
NomCol(3) = "NOM CLIENT"
NomCol(4) = "CHANTIER"
NomCol(5) = "LOCALITÉ CHANTIER"
NomCol(6) = "N° LISTE INGÉNIEUR"
NomCol(7) = "TITRE PLAN"
NomCol(8) = "POIDS (KG)"
NomCol(9) = "DATE LIVRAISON"
NomCol(10) = "S/D"
' Manipulation des données (ici format de la date)
With ds.Tables("REF_PS")
For i = 0 To .Rows.Count - 1
DateForm = .Rows(i).Item("DELIVASKED")
JJ = DateForm.Substring(6, 2)
MM = DateForm.Substring(4, 2)
AA = DateForm.Substring(0, 4)
DateForm = JJ & "/" & MM & "/" & AA
.Rows(i).Item("DELIVASKED") = DateForm
Next
End With
' Renommer les entêtes de colonnes du DataSet
' Count - 5 car certaines données seront supprimées
With ds.Tables("REF_PS")
For i = 0 To .Columns.Count - 5
.Columns(i).ColumnName = NomCol(i)
Next
End With
' Suppression des colonnes utiles pour manipulation des données
' mais inutiles à l'affichage
With ds.Tables("REF_PS")
.Columns.Remove("TYWO_CODE")
.Columns.Remove("PROD_NUM")
.Columns.Remove("INV_WGHT")
.Columns.Remove("STATUS")
End With
' Chargement du DataGrid depuis le DataSet
Dim Vue As New DataView(ds.Tables("REF_PS"))
DataGridView1.DataSource = Vue |
Partager