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
| Dim db As DAO.Database
Dim base As DAO.Recordset
MaTable = "base_cnrs"
'requete sql
sSQL = "SELECT Nocontrat, andebut, Duree, Intituleunite, DSLAB, RegLAB, RaisonSociale, CodeNAF, Secteur_Activite from " & MaTable
'tu definis ton recordset qui va contenir le resultat de la requete
Set base = db.OpenRecordset(sSQL)
If Not base.EOF Then
'tant qu'il n'est pas vide
Do While Not base.EOF
'recuperation des valeurs
noC = base.Fields("Nocontrat").Value
nomL = base.Fields("Intituleunite").Value
'remplace les ' par un espace afin que le programme distingue bien la chaine
nomL = Replace(nomL, "'", " ")
an = base.Fields("andebut").Value
ds = base.Fields("DSLAB").Value
reg = base.Fields("RegLAB").Value
rais = base.Fields("RaisonSociale").Value
rais = Replace(rais, "'", " ")
act = base.Fields("Secteur_Activite").Value
'//POSSIBILITES D'EXTRACTIONS{
'si seulement un numero de contrat est saisi
If noC = num_contrat And coche.Value = True Then
an = base.Fields("andebut").Value
tps = base.Fields("Duree").Value
nomL = base.Fields("Intituleunite").Value
ds = base.Fields("DSLAB").Value
reg = base.Fields("RegLAB").Value
rais = base.Fields("RaisonSociale").Value
rais = Replace(rais, "'", " ")
naf = base.Fields("CodeNAF").Value
act = base.Fields("Secteur_Activite").Value
'requete d insertion
sSQLInsert = "INSERT INTO " & rep & " ([Nocontrat],[andebut],[Duree],[Intituleunite],[DSLAB],[RegLAB],[RaisonSociale],[CodeNAF],[Secteur_Activite]) VALUES ( '" & noC & "','" & an & "','" & tps & "','" & nomL & "','" & ds & "','" & reg & "','" & rais & "','" & naf & "','" & act & "')"
'execution de la requete insert
db.Execute sSQLInsert, dbFailOnError
Exit Sub
End If
'//SEULEMENT UN CRITERE
'juste periode
If Not IsNull(date_debut) And Not IsNull(date_fin) And IsNull(nom_lab) And IsNull(ds_lab) And IsNull(reg_lab) And IsNull(rai_soc) And IsNull(sec_act) Then
If Coche_per.Value = True And an >= date_debut And an <= date_fin Then
noC = base.Fields("Nocontrat").Value
tps = base.Fields("Duree").Value
nomL = base.Fields("Intituleunite").Value
'remplace les ' par un espace afin que le programme distingue bien la chaine
ds = base.Fields("DSLAB").Value
reg = base.Fields("RegLAB").Value
rais = base.Fields("RaisonSociale").Value
naf = base.Fields("CodeNAF").Value
act = base.Fields("Secteur_Activite").Value
'requete d'insertion
sSQLInsert = "INSERT INTO " & rep & " ([Nocontrat],[andebut],[Duree],[Intituleunite],[DSLAB],[RegLAB],[RaisonSociale],[CodeNAF],[Secteur_Activite]) VALUES ( '" & noC & "','" & an & "','" & tps & "','" & nomL & "','" & ds & "','" & reg & "','" & rais & "','" & naf & "','" & act & "')"
'execution de la requete insert
db.Execute sSQLInsert, dbFailOnError
End If
End If
'juste labo
If Not IsNull(nom_lab) And IsNull(rai_soc) And IsNull(sec_act) And IsNull(date_debut) And IsNull(date_fin) Then
If nomL = nom_lab And Coche_per.Value = False Then
noC = base.Fields("Nocontrat").Value
an = base.Fields("andebut").Value
tps = base.Fields("Duree").Value
ds = base.Fields("DSLAB").Value
reg = base.Fields("RegLAB").Value
rais = base.Fields("RaisonSociale").Value
naf = base.Fields("CodeNAF").Value
act = base.Fields("Secteur_Activite").Value
'requete d'insertion
sSQLInsert = "INSERT INTO " & rep & " ([Nocontrat],[andebut],[Duree],[Intituleunite],[DSLAB],[RegLAB],[RaisonSociale],[CodeNAF],[Secteur_Activite]) VALUES ( '" & noC & "','" & an & "','" & tps & "','" & nomL & "','" & ds & "','" & reg & "','" & rais & "','" & naf & "','" & act & "')"
'execution de la requete insert
db.Execute sSQLInsert, dbFailOnError
End If
End If
base.MoveNext
Loop
End If
'ferme/vide tout
base.Close
Set base = Nothing
db.Close
End If
End Sub |
Partager