× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 acess et vba pour modification d'une base de donnéeSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
loulou84
  Posté le 30/07/2014 @ 07:44 
Aller en bas de la page 
Petit astucien

Bonjour,

je souhaiterai parcourir ma base de donnée regarder la valeur d'un champs et si elle est pas bonne alors j'attribue tel valeur au champs d'a coté!

Mais ca marche pas, je pense que je peux pas faire d'uptate si je travaille deja sur ma table nn?

Si quelqu'un peut m'aider merci

Dim db As DAO.Database

Dim myrst As DAO.Recordset

Dim temp() As String, i As Integer, resultat As String

'tu definis quelle est la BD étudiée, c'est celle qui est courante..

Set db = CurrentDb

'nom de ta table

matable = "Table1"

monAutreTable = "TABLE_2"

sSQL = "SELECT id,Nom,Avancement from " & matable & " ORDER BY id "

'tu definis ton recordset qui va contenir le resultat de la requete

Set myrst = db.OpenRecordset(sSQL)

'si le recordset n'est pas vide

If Not myrst.EOF Then

' tant qu'il n'est pas vide

Do While Not myrst.EOF

'recuperation des valeurs pour tes 3 champs

temp = Split(myrst.Fields("Avancement").Value, ";")

If UBound(temp) > 0 Then

resultat = " "

For i = 0 To UBound(temp)

If temp(i) = "Refus" Then

resultat = "Refus"

ElseIf temp(i) = "A contacter" Then

If resultat <> "Refus" Then

resultat = "A contacter"

End If

ElseIf temp(i) = "Signe" Then

If resultat <> "Refus" Or resultat <> "A contacter" Then

resultat = "Signe"

End If

End If

Next i

requete = "Update[" & matable & "] SET [Resultat] = [" & resultat & "] where [id] =[" & myrst.Fields("id").Value & "];"

DoCmd.RunSQL (requete)

myrst.MoveNext

End If

Loop

End If

' tu fermes/vides tout

myrst.Close

Set myrst = Nothing

db.Close

Publicité
Titus68
 Posté le 30/07/2014 à 13:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Cà semble de l'access cette base ? Il y a juste une erreur ici je pense :

myrst.MoveNext

End If

Loop

j'aurais plutot mis :

end if

myrst.movenext

loop

En testant avec un autre fournisseur et en adaptant les ordres sql, çà fonctionne.

loulou84
 Posté le 30/07/2014 à 13:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci j'essaie ca toute de suite, mais je fais ca sur acces pas besoin de fournisseur ! C'est pour un outil pour mon stage

loulou84
 Posté le 31/07/2014 à 09:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

thx

Titus68
 Posté le 31/07/2014 à 13:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

dolby

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
122,57 €Kit de 32 Go (2 x 16 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz à 122,57 € livré
Valable jusqu'au 27 Septembre

Amazon Allemagne fait une promotion sur le kit de 32 Go (2x16 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz CL16 qui passe à 117,92 € (avec la TVA ajustée). Comptez 4,65 € pour la livraison en France soit un total de 122,57 € livré. alors qu'on le trouve ailleurs à plus de 170 €.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
200,04 €SSD SanDisk Ultra 3D 2 To à 200,04 € livré
Valable jusqu'au 28 Septembre

Amazon Allemagne fait une belle promotion sur le SSD SanDisk Ultra 3D d'une capacité de 2 To qui passe à 195,52 €. Comptez 4,52 € pour la livraison en France, soit un total de 200,04 € livré. On le trouve ailleurs autour de 260 €. Une bonne affaire pour ce SSD performant qui offre des débits de 560 Mo/s en lecture et 530 Mo/s en écriture. Cette version est garantie 3 ans.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
12,19 €Pack de 3 clés USB 3.0 Kingston DataTraveler 100 G3 - 32 Go à 12,19 €
Valable jusqu'au 30 Septembre

Amazon fait une promotion sur le pack de 3 clés USB 3.0 Kingston DataTraveler 100 G3 - 32 Go qui passe à 12,19 € livré gratuitement au lieu d'une vingtaine d'euros habituellement.


> Voir l'offre

Sujets relatifs
recuperer donnée pour faire un graphique
base de donnee
Commande "Taille écran" pour base Access
mysql base de données de récupération dans wampserver2
Base de données et VS 2015
Sql MCD pour un projet de location
Commande batch pour ouvrir plusieurs fichiers windows 8
modification Setup.Lst
Visual Basic & Base de données
Aide pour un programme simple en C++
Plus de sujets relatifs à acess et vba pour modification d''une base de donnée
 > Tous les forums > Forum Autres langages