Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 15/12/2010, 10h04   #1
Nouveau Membre du Club
 
Homme
Apprenti en dévelloppement
Inscription : août 2010
Messages : 81
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Apprenti en dévelloppement

Informations forums :
Inscription : août 2010
Messages : 81
Points : 30
Points : 30
Par défaut recordset et valeur

Bonjour, j'ai un petit souci, je voudrais faire appel à une valeur d'un chap présent dans une table.

voici mon 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
Function fffff()

Dim db As DAO.Database
Dim rec As DAO.Recordset

Set db = CurrentDb
Set rec = db.OpenRecordset("Select [nom],[prenom]From [tbl_nomprenom] Where [ID]='" & num2 & "'", dbOpenSnapshot)


If rec.EOF = False Then

rec! [nom]
rec! [prenom]
Else
MsgBox ("Erreur")
End If
orst.Close
db.Close

Set orst = Nothing
Set db = Nothing

End Function
c'est au niveua de la partie en gras qu'il y a un souci , merci de m'aider
luchoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 10h38   #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
Bonjour,

Tu veux en faire quoi de la valeur de tes champs ?
__________________
[Access] Les bases du débogage => ici
Kloun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 10h51   #3
Nouveau Membre du Club
 
Homme
Apprenti en dévelloppement
Inscription : août 2010
Messages : 81
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Apprenti en dévelloppement

Informations forums :
Inscription : août 2010
Messages : 81
Points : 30
Points : 30
Ben enfaite j'ai une autre fonction "one" ou je veux faire appelle à ma fonction "fffff"

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function one()

'variable
Dim db As DAO.Database
Dim rst As DAO.Recordset

'ouverture de la base de donnée : recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("Requête1", dbOpenSnapshot)

'création et ouverture du fichier txt
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile (ici je veu appeler le résultat de ma fonction two)'écriture dans le fichier txt
With MonFich
.writeline "<?xml version=""" & "1.0" & """ encoding=""" & "windows-1252" & """>"
.writeline ""
etc...
Ce qui est en gras est le chemin d'accès contenu dans les valeurs "nom" et prenom"
luchoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 13h57   #4
Membre du Club
 
clément
Étudiant
Inscription : septembre 2010
Messages : 131
Détails du profil
Informations personnelles :
Nom : clément
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2010
Messages : 131
Points : 59
Points : 59
Pas compris :s

Mais dans ton code :

rec![nom]
rec![prenom]

C'est des valeurs donc faut que tu en fasses quelque chose
Mycose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 14h07   #5
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
Le truc c'est que ta fonction ffffff() ne retourne aucune valeur

soit tu la transforme comme ceci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub fffff(ByRef nom As String, ByRef prenom As String)
    Dim db As DAO.Database
    Dim rec As DAO.Recordset
 
    Set db = CurrentDb
    Set rec = db.OpenRecordset("Select [nom],[prenom]From [tbl_nomprenom] Where [ID]='" & num2 & "'", dbOpenSnapshot)
    If NOT rec.EOF Then
        nom = rec! [nom]
        prenom = rec! [prenom]
    Else
        MsgBox ("Erreur")
    End If
    orst.Close
    db.Close
 
    Set orst = Nothing
    Set db = Nothing
End Sub
Et tu récupères les valeurs comme ceci:
Code :
1
2
3
4
Dim nom As String
Dim prenom As String
fffff nom, prenom
'utilise nom et prenom comme tu veux
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 16h07   #6
Nouveau Membre du Club
 
Homme
Apprenti en dévelloppement
Inscription : août 2010
Messages : 81
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Apprenti en dévelloppement

Informations forums :
Inscription : août 2010
Messages : 81
Points : 30
Points : 30
Mercii, Ahhh OUIII, !!! j'ai remodelé tout sa !!

Appele valeur:

Code :
1
2
3
4
5
6
 
Function test(personne As String) As String
etc..recordset..etc..
If rec.EOF = False Then
test = rec("nom") + rec("prenom")
End If
Apelle de la fonction qui renvoie le résultat:

Code :
1
2
3
4
 Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile(test("value"))

'valeur "value" cherche dans la table grâce au recordset.
ET SA MARCHE !!
luchoo 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 02h26.


 
 
 
 
Partenaires

Hébergement Web