Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2008, 13h03   #1
Invité régulier
 
Étudiant
Inscription : août 2006
Messages : 32
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2006
Messages : 32
Points : 6
Points : 6
Par défaut Application exporté dans SQL Server

Bonjour j'ai realisé une application dans access avec dao pour les accès.
j'ai ensuite exporter les tables dans SQL Server 2005. Malheureusement pour moi les requetes qui me permettaient de recuperer les données et de les exporter dans excel qui fonctionnaient très bien dans access ne marchent plus dans SQL server 2005.
J'ai le message suivant :
"Erreur d'exécution '3622':
Vous devez utiliser l'option dbSeeChanges avec OpenRecordset lors de l'accès à une table Serveur SQL ayant une colonne IDENTITY
."
sur la ligne suivante du code :

Code :
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
Private Sub cmd_BA_KFE_Click()
Dim rst As DAO.Recordset
Dim xlapp As Excel.Application
Dim strg As String
Dim cpt As Integer
Dim i As Byte


    
'récupération des informations
strg = "select * from R_Bulletin_Analyse_kfe Where val(numero_lot)=" & Val(num_lot.Value) & ""
'ancien code qui fonctionnait avt exportation dans sql server
Set rst = CurrentDb.OpenRecordset(strg)
'nouveau code qui ne fonctionne tjrs pas après exportation dans sql server
Set rst = CurrentDb.OpenRecordset(strg, , dbSeeChanges)

If rst.RecordCount < 1 Then
    MsgBox "aucun enregistrement trouvés"
    Exit Sub
Else
    
    'ouverture du fichier excel
If (xlapp Is Nothing) Then
    Set xlapp = CreateObject("excel.application")
    xlapp.Visible = True
    xlapp.Workbooks.Open Application.CurrentProject.Path & "\rapport\kfe\bulletin_analyse_kfe.xlt", , yes
End If
    
    rst.MoveFirst
    Do Until rst.EOF
        xlapp.Cells(1, 6) = rst("autorisation").Value & " " & rst("ref_demande_insp").Value
        xlapp.Cells(5, 6) = rst("lib_produit").Value
        xlapp.Cells(6, 6) = rst("marque_client").Value
        xlapp.Cells(7, 6) = rst("numero_lot").Value
        xlapp.Cells(8, 6) = rst("nb_sacs").Value
        xlapp.Cells(9, 6) = rst("classification_iv").Value
        xlapp.Cells(10, 6) = rst("entrepot").Value
        xlapp.Cells(11, 6) = rst("date_bulletin_analyse").Value
        xlapp.Cells(13, 6) = rst("humidite").Value & " " & "%"
        xlapp.Cells(14, 6) = rst("mat_etrangere").Value & " " & "%"
        xlapp.Cells(15, 6) = rst("poids_echantillon").Value & " " & "g"
        xlapp.Cells(16, 6) = rst("nb_defauts").Value
        xlapp.Cells(19, 6) = rst("avarie_seche").Value
        xlapp.Cells(20, 6) = rst("cerise").Value
        xlapp.Cells(21, 6) = rst("noire").Value
        xlapp.Cells(22, 6) = rst("sure").Value
        xlapp.Cells(23, 6) = rst("parche").Value
        xlapp.Cells(24, 6) = rst("demi_noire").Value
        xlapp.Cells(25, 6) = rst("spongieuse").Value
        xlapp.Cells(26, 6) = rst("blanche").Value
        xlapp.Cells(27, 6) = rst("ridee").Value
        xlapp.Cells(28, 6) = rst("immature").Value
        xlapp.Cells(29, 6) = rst("indesirable").Value
        xlapp.Cells(30, 6) = rst("coquille").Value
        xlapp.Cells(31, 6) = rst("brisure").Value
        xlapp.Cells(32, 6) = rst("pique").Value
        xlapp.Cells(33, 6) = rst("grosse_peau").Value
        xlapp.Cells(34, 6) = rst("petite_peau").Value
        xlapp.Cells(35, 6) = rst("gros_bois").Value
        xlapp.Cells(36, 6) = rst("bois_moyen").Value
        xlapp.Cells(37, 6) = rst("petit_bois").Value
        xlapp.Cells(40, 5) = rst("tamis_18").Value
        xlapp.Cells(41, 5) = rst("tamis_16").Value
        xlapp.Cells(42, 5) = rst("tamis_14").Value
        xlapp.Cells(43, 5) = rst("tamis_12").Value
        xlapp.Cells(44, 5) = rst("tamis_10").Value
        xlapp.Cells(45, 5) = rst("tamis_bas").Value
        xlapp.Cells(48, 5) = rst("scelle_1").Value
        xlapp.Cells(49, 5) = rst("scelle_2").Value
        rst.MoveNext
        cpt = cpt + 1
    Loop
End If

'impression du rapport
'xlapp.ActiveWorkbook.PrintOut

'fermeture d'excel
'xlapp.ActiveWorkbook.Close savechanges:=False
'xlapp.Quit
'Set xlapp = Nothing


End Sub
Merci de votre aide !
liquid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 14h14   #2
Membre Expert
 
Inscription : janvier 2006
Messages : 1 111
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 1 111
Points : 1 093
Points : 1 093
Y'm'semble que c'est une histoire de clé primaire.
Elle doit être définit dans SQL Server ET dans ta table attachée dans Access (d'après mes souvenirs).
Kloun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2008, 17h59   #3
Invité régulier
 
Étudiant
Inscription : août 2006
Messages : 32
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2006
Messages : 32
Points : 6
Points : 6
J'ai pu regler mon probleme avec ca :
Code :
Set rst = CurrentDb.OpenRecordset(strg, dbOpenDynaset, dbSeeChanges)
Merci encore !
liquid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h54.


 
 
 
 
Partenaires

Hébergement Web