begin process at 2012 02 14 06:07:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

generer un identifiant vb probleme : impossible de trouver lobjet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

generer un identifiant vb probleme : impossible de trouver lobjet

jeudi 26 janvier 2006 à 10:44:56 | generer un identifiant vb probleme : impossible de trouver lobjet

hanamichiforce

voila je vien en dernier recours et jai besoin daide : voici ma fonction ...
Public Function get_id(marequete As String, nomchamp As String) As Integer
'mes variables
Dim recordset As New ADODB.recordset
Dim bool As Boolean



If recordset.ActiveConnection Is Nothing Then recordset.ActiveConnection = SQLSRVDATA.EASYMED.ConnectionString

    recordset.Source = marequete
    recordset.Open , , adOpenStatic, adLockReadOnly
    MsgBox (recordset.RecordCount)
    recordset.MoveLast
    
    If recordset.RecordCount = -1 Then
        get_id = 1
    Else
        recordset.MoveFirst
        'trouver le nom du champ


        '---- le probleme est a ce niveau il ne trouve pa l'objet----
        get_id = recordset!nomchamp
        recordset.MoveNext
        '---parourir le recordset
        Do While recordset.EOF = False And bool = False
        If get_id + 1 = recordset!nomchamp Then
            get_id = recordset!nomchamp
            Else
            get_id = get_id + 1
            bool = True
        End If
        recordset.MoveNext
        Loop
    End If
End Function

sil vous plait de laide ou une piste, merci davance
jeudi 26 janvier 2006 à 11:20:44 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

bmikl59

Membre Club
Salut, je suis pas sur de pouvoir t'aider, mais au cas ou (parce que je vais essayer quand meme), j'aurais une question.

Quand tu dis qu'il ne trouve pas l'objet, de quel objet parle tu?
C'est nomchamp qui trove pas??

jeudi 26 janvier 2006 à 11:24:34 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

bmikl59

Membre Club
Est ce que t'as testé un truc du genre :

recordset.fields![nomchamps]
jeudi 26 janvier 2006 à 11:40:29 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

hanamichiforce

je te remercie de ton oui c bien sur recordset!nomchamp kil ne fonctionne pas..qu'il ne trouve pa d'objet..j'ai essayer ta solution ..mai c pa la bonne merci quand même..pour ton aide .
jeudi 26 janvier 2006 à 12:17:42 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

crenaud76

recordset!nomchamp ne peut pas être valable !!! nomchamp est une variable de type string !! Avec cette notation, tu lui demande de retroiuver dans le recordset un chmp nommé "nomchamp", pas un champ dont le nom est stocké dans la var nomchamp !!!
Pour retrouver ton champ, il faut que tu parcours la colelction Fields de ton recordset pour retrouver le bon champ ...
dim chpId as long
Dim i as long
chpId = -1
For i =0 to recordset.fields
  if lcase$(recordset.fields(i).name) =  lcase$(nomchamp) then
    chpId = i
    exit for
  End if
next
if chpId = -1 then
  Msgbox "Champ " & nomchamp & " inexistant dans le recordset"
  exit function
endif
' Maintenant tu peux faire ta boucle avec "recordset.fields(chpId)" au lieu de "recordset!nomchamp"
Do While recordset.EOF = False And bool = False
        If get_id + 1 = recordset.fields(chpId) Then
            get_id = recordset!nomchamp
            Else
            get_id = get_id + 1
            bool = True
        End If
        recordset.MoveNext
        Loop


J'ai pas testé mais ca devrait être OK comme ca

CR
jeudi 26 janvier 2006 à 12:19:21 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

crenaud76

PArdon !! Je corrige la boucle ...

Do While recordset.EOF = False And bool = False
        If get_id + 1 = recordset.fields(chpId) Then
            get_id = recordset.fields(chpId)
            Else
            get_id = get_id + 1
            bool = True
        End If
        recordset.MoveNext
        Loop

CR
jeudi 26 janvier 2006 à 15:49:13 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

hanamichiforce

oui je l'ai compris ensuite, jai essayé ta solution il me parle dicompatibilité de type...du coup je tente autre chose mais g encore un souci voici mon code :


Public Function get_id(recordset, nomchamp As String) As Integer
'mes variables

Dim bool As Boolean
  
    recordset.MoveFirst
    
    'récupération du premier identifiant
    get_id = nomchamp
    get_id = get_id + 1
    
    recordset.MoveNext
        
    '---parourir le recordset
        
    Do While recordset.EOF = False And bool = False
  
          
            If get_id = nomchamp Then
                get_id = nomchamp + 1
                Else
                get_id = get_id + 1
                bool = True
            End If
        recordset.MoveNext
    Loop
    
    
End Function
cette fois je n'ai plus de souci d'objet par contre le recordset.movenext ne fonctionne pas et je peux ne réaliser que 3 enregistrement et là je comprends pas...merci de votre aide..
jeudi 26 janvier 2006 à 16:07:50 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

bmikl59

Membre Club
Excuse moi mais je comprend pas trop ce que tu fais......

deja à la place de faire :
  'récupération du premier identifiant
    get_id = nomchamp
    get_id = get_id + 1

tu peux faire
   get_id = nomchamp + 1
Ta le meme resultat.....

Bon, j'essaie de t'aider (moi pas etre Admin et moi pas etre MVP), ca serai cool que t'explique un peu ce que tu fais dans ta boucle.....avec ton if 

Mais si un moment ton movenext (dans la boucle) ne marche plus, c'est ptet que la variable bool est passée à true...... dans ce cas la tu sortirai de la boucle

Enfin bon, j'dis ca comme ca........
Sinon ben bon courage (on en a besoin qd ca veut pas faire ce qu'on veut)
    
jeudi 26 janvier 2006 à 16:20:29 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

hanamichiforce

oui tu as raison cetait pour ma reflexion le get_id = nomchamp lol
alors la boucle :
je parcours un recordset normalemen a partir du 2eme enregistremen dou le 1er movenext au dessus
donc je compare l'id qui vaut 2 et jla compare a lid du 2eme enregistremen
s'ils st egaux get_id = nomchamp+1
sinon get_id = get_id+1 pui on sort de la boucle
le 'sinon' sert a "boucher" les vides car les ids sont dans lordre des enregistrements..
le truc bizarre mtn c ke je narrive pa atteindre le 2 eme enregistremen
merci pour ton aide
c vrai kil en faut du courage ^^
S.
jeudi 26 janvier 2006 à 16:32:36 | Re : generer un identifiant vb probleme : impossible de trouver lobjet

bmikl59

Membre Club

Bon, tout ce que je peux te dire c'est que le movenext doit fctionné.
Est ce que tu entre dans la boucle au moins.....???
Tu devrai initialiser la variable bool a false (pour etre sur que cette condition soit vérifier.)


1 2

Cette discussion est classée dans : recordset, probleme, id, get, nomchamp


Répondre à ce message

Sujets en rapport avec ce message

ptit probleme de synchro datagrid/recordset [ par ilmarinen ] Voila , j'ai une data grid relié a un recordset mais qd j'utilise l'evenement onclick de la datagrid , il me donne la valeur precedente du recordset , recordset vba [ par ucorsu ] alors voilà g une table CLIENT avec différents champs comme Id, Nom , Adresse ...Ce que je veux c vérifier qu'un client axiste bien et récupérer son i probleme de recordset ADO [ par ilmarinen ] bon bein voila mon probleme c'est que j'arrive a acceder a un champ de mon recordset et qu'apres il disparait :((( quelqu'un saurait quoi faire ?// co configuration sqlserver: probleme recordset dynamique [ par blau ] je tente de me connecter a SQL server 2000 avec ADO (VB).pour pouvoir lire des enregistrements "lockés", je veux creer un recordset dynamique.pour qu' Temps de mise a jour d'un recordset [ par SYL666 ] Bonjour et merci de lire ceci.Voila mon probleme:une met a jour une base de donnees en passant par un recordset. le probleme, c'est que la base de don listbox item [ par ingue ] dans un object VB listbox, je souhaite associer une valeur "string" à un clé. dans ma liste j'ai des enregistrments "toto""tata"et qd je cliques dess probleme de recordset [ par patl76 ] Salut tout le monde les gens !!!J'aurais besoin de savoir quequ chose..Je veux calculer le nb d'enregistrement contenu ds le recordset apres qu'une re probleme de recordset [ par patl76 ] Salut tout le monde les gens !!!J'aurais besoin de savoir quequ chose..Je veux calculer le nb d'enregistrement contenu ds le recordset apres qu'une re Probleme avec Recordset [ par davibi ] Bonjour,Je cherche a lire le contenu d'une table sous MS Access 2000 en VBA et voici le code que j'ecris :Dim db as DatabaseDim bdd as RecordsetSet db Comment spécifier un format pour un champ du recordset [ par energizer956956 ] Bonjour,voila j'ai un petit problème avec le recordset que j'ai créer. Je me connecte a une base de données excel et je fais un select sur cette base,


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales