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 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| 'D'abord pour accéder à une base de donnée SQL Server, il faut se connecter à cette source de donnée
'Utiliser un recordset pour accéder aux données
'Le recordset est l'objet qui parcourt le résultat d'une requête SQL
'Ajouter les références requises pour pouvoir déclarer l'objet de connection: Microsft DAO 3.6 Object Library et Microsoft Data Object 2.8 Library
Sub FP56_5G2()
Dim cN As ADODB.Connection 'Declarer l'objet de connexion
Dim rs As ADODB.Recordset 'Declarer le recordset
Dim Z As Integer
Dim SerialNumber As Integer 'numéro de série appareil
Worksheets("FP56").Range("A9").CurrentRegion.Borders.LineStyle = xlNone 'efface bordures
Worksheets("FP56").Range("A10:N50").ClearContents 'efface données
Worksheets("FP56").Range("E10:E50").FormatConditions.Delete 'efface format conditionnel
Worksheets("FP56").Range("I10:I50").FormatConditions.Delete
Worksheets("FP56").Range("I10:I50").Font.ColorIndex = xlColorIndexAutomatic
Worksheets("FP56").Range("E10:E50").Font.ColorIndex = xlColorIndexAutomatic
Worksheets("FP56").Range("A9").CurrentRegion.Font.ColorIndex = xlColorIndexAutomatic 'efface la couleur du texte
Set cN = New ADODB.Connection 'Instnacier l'objet de connexion
Set rs = New ADODB.Recordset 'Instancier l'objet de connection
dbPath = Path
'Définir une connexion string(chaine de connection) et l'affecter à la connexion
'Cette chaine doit renseigner sur le provider( fournisseur de BDD ou SGBD), le nom de la BDD et les paramètres de Login et mot de passe(optionnels)
SerialNumber = Worksheets("FP56").Range("C4").Value
Application.ScreenUpdating = False
Z = 10
'connection à la base de données
cN.ConnectionString = "Provider=SQLOLEDB;Data Source=VERPACWS016\ENTERPRISE;Initial Catalog=enterprise; User ID=sa;Password=Alpha2000;"
cN.Open 'Ouvrir la connexion en utilisant l'objet de connexion instancié et la connection string
'Selection des enregistrements en fonction du numéro de série de l'appareil et de l'échantillon
rs.Open "select T.[Sample Name],T.[Start Time], T.Method, T.[Instrument Serial],RD.xValue " _
& "from dbo.tempresultsgrid_950ece74eeff4749bf7c08b8d3632653 as T " _
& "inner join dbo.ResultData as RD on T.result_id=RD.result_id " _
& "inner join dbo.Result as R on R.result_id= T.result_id " _
& "inner join dbo.xVariable as V on RD.variable_id=V.variable_id " _
& "inner join dbo.Instrument as I on R.instrument_id=I.instrument_id " _
& "where V.identifier in('FP56_EFP1Flash') " _
& "and I.instrumenttype_id = cast('73354290-e09a-4c17-aa26-43a4b579e1db'as uniqueidentifier) " _
& " and T.[Sample Name]='P-XYLENE' " _
& " and T.[Instrument Serial]=" & SerialNumber & " order by T.[Start Time] DESC", cN, adOpenKeyset, adLockOptimistic
If Not rs.EOF Then
While Not rs.EOF
Worksheets("FP56").Cells(Z, 1).Value = rs.Fields("Sample Name").Value
Worksheets("FP56").Cells(Z, 2).Value = rs.Fields("xValue").Value
Worksheets("FP56").Cells(Z, 3).Value = rs.Fields("Start Time").Value
Worksheets("FP56").Cells(Z, 4).Value = rs.Fields("Method").Value
rs.MoveNext
Z = Z + 1
Wend
End If
rs.Close
cN.Close
Set rs = Nothing
Set cN = Nothing
'Selection des enregistrements en fonction du numéro de série de l'appareil et de l'echantillon
Z = 23
cN.Open
rs.Open "select T.[Sample Name],T.[Start Time], T.Method, T.[Instrument Serial],RD.xValue " _
& "from dbo.tempresultsgrid_950ece74eeff4749bf7c08b8d3632653 as T " _
& "inner join dbo.ResultData as RD on T.result_id=RD.result_id " _
& "inner join dbo.Result as R on R.result_id= T.result_id " _
& "inner join dbo.xVariable as V on RD.variable_id=V.variable_id " _
& "inner join dbo.Instrument as I on R.instrument_id=I.instrument_id " _
& "where V.identifier in('FP56_EFP1Flash') " _
& "and I.instrumenttype_id = cast('73354290-e09a-4c17-aa26-43a4b579e1db'as uniqueidentifier) " _
& " and T.[Sample Name]='CRM 256-51' " _
& " and T.[Instrument Serial]=" & SerialNumber & " order by T.[Start Time] DESC", cN, adOpenKeyset, adLockOptimistic
If Not rs.EOF Then
While Not rs.EOF
Worksheets("FP56").Cells(Z, 1).Value = rs.Fields("Sample Name").Value
Worksheets("FP56").Cells(Z, 2).Value = rs.Fields("xValue").Value
Worksheets("FP56").Cells(Z, 3).Value = rs.Fields("Start Time").Value
Worksheets("FP56").Cells(Z, 4).Value = rs.Fields("Method").Value
rs.MoveNext
Z = Z + 1
Wend
End If
rs.Close
cN.Close
Set rs = Nothing
Set cN = Nothing
End Sub |
Partager