kapotocho
Messages postés18Date d'inscriptionjeudi 29 novembre 2007StatutMembreDernière intervention16 janvier 2008
-
29 nov. 2007 à 08:40
kapotocho
Messages postés18Date d'inscriptionjeudi 29 novembre 2007StatutMembreDernière intervention16 janvier 2008
-
29 nov. 2007 à 14:51
Bonjour, je suis un rookie en developpement et je suis en train de me familiariser avec le VB, un ami m'a passer une base access qu'il avait fait en access 1 pour que je lui mette en access 2003,mais son vout de code en VB
plante, est-ce que quelqu'un peut m'aider,je rame trop
merçi d'avance
Function cdane(aec)<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Dim bd As Database, atable As snapshot, rés As TableDef
Static tota(99)
Dim j, k, m As Integer
Dim cum, cda As Long
Set bd = CurrentDb()
Set atable = bd.CreateSnapshot("Liste des cols")
Set rés = bd.OpenTable("cdparan")
rés.Index = "PrimaryKey"
For j = 0 To 99
tota(j) = 0
Next
Do Until atable.EOF
cda = cdan(atable![Cols Durs années précéd], atable![altit], atable![année], atable![cd], aec)
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 29 nov. 2007 à 08:44
Salut,
C'est bien beau de savoir que le code plante.
Mais ce qui nous serait surtout utile, c'est de savoir quelle est l'erreur donnée par VBA et surtout quelle ligne plante.
De plus si l'on doit utiliser ton code, il nous faut le squelette des tables.
Bref. pour avoir une réponse des plus claires et rapides, il faut être très précis dans l'énoncé du problème.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 29 nov. 2007 à 09:27
SAlut,
Et bien je dirais que c'est parce que Access ne doit pas connaitre par défaut le type d'objet Snapshot.
Il semblerait que Snapshot soit un objet liée à une référence DAO. Mais comme DAO à évolué il ne semble plus être dans les dernieres versions.
De plus il serait utile si tu doit mettre à jour la source, d'utiliser ADO en lieu et place De DAO.
Va voir ce lienon y parle de Snapshot et de la maniere de le faire avec ADO
@+: Ju£i?n Pensez: Réponse acceptée
kapotocho
Messages postés18Date d'inscriptionjeudi 29 novembre 2007StatutMembreDernière intervention16 janvier 2008 29 nov. 2007 à 11:45
il m'en reste encore un mais je suis dessus,concernant la connection "cnn"
il me dit qu'il est "impossible d'utiliser cette connection pour effectuer cette operation,elle est fermé ou non valide dans ce contexte"
Function cdane(aec)
Dim bd As Database, atable As New ADODB.Recordset, rés As New ADODB.Recordset, cnn As ADODB.Connection
Static tota(99)
Dim j, k, m As Integer
Dim cum, cda As Long
Set bd = CurrentDb()
rés.Index = "PrimaryKey"
atable.Open "liste des cols", cnn, adOpenStatic, adLockReadOnly
rés.Open "cdparan", cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
For j = 0 To 99
tota(j) = 0
Next
Do Until atable.EOF
cda = cdan(atable![Cols Durs années précéd], atable![altit], atable![année], atable![cd], aec)
atable.MoveNext
For j = 0 To 99
tota(j) = tota(j) + totcd(j)
Next
Loop
cum = 0
For j = 0 To 99
rés.MoveFirst
rés.Seek "=", j
rés![Mpan] = tota(j)
rés![An 2000] = (j + 40) Mod 100 + 1960
rés.Update
' Debug.Print j, tota(j)
cum = cum + tota(j)
cdane = cum
Next
rés.Seek "=", 100
rés![Mpan] = cum
rés.Update
rés.Close
End Function
kapotocho
Messages postés18Date d'inscriptionjeudi 29 novembre 2007StatutMembreDernière intervention16 janvier 2008 29 nov. 2007 à 14:51
j'ai (ncore un problème) le "seek" à la fin provoque une erreur: il me dit "opération non valide sans un idex en cours"
or l'index est crée
quelqu'un voit d'où ça peut venir??
merçi d'avance