Comparer un champ (base dao) par rapport a un textbox

Résolu
JeanMarcus Messages postés 147 Date d'inscription samedi 28 mai 2005 Statut Membre Dernière intervention 10 mars 2014 - 21 oct. 2009 à 22:26
JeanMarcus Messages postés 147 Date d'inscription samedi 28 mai 2005 Statut Membre Dernière intervention 10 mars 2014 - 28 oct. 2009 à 14:51
Bonjour !

Je suis en vb6 et j essaye de "bricoler" avec une base de donnée avec qq champs style : date nom etc et j'aimerais comparer un élement émanant d'un textbox et l afficher style :

Dans textox.text j'entre : 21.10.2009 et je voudrais afficher (n'immporte ou , label ou list ou autre
) l'element date enregistré dans la base de donnee sous forme zjm!date sachant que le champ date est bien sous la forme jj.mm.aaaa

date regroupant des élements d'evenement mensuels
style 10.10.2009 ou 20.04.2009 ou 23.12.2009

j'ai essaye :

do while not zjm!date.eof
if text1.text = zjm!date then
' text1.text serait égal à zjm!date soit
' 21.10.2009 = 21.10.2009
' donc :
affichage =>

l'ayant teste avec une listbox, j'ai bien tout les element selectionne ds la base mais ca ressort tout les element du mois alors que je veux recuperer que l'element selectionne soit : jj.mm.aaaa

' dans cette listbox , je recupere bien tous les
' élements mais je n'arrive pas à isoler les
' élements du jour


zjm.movenext
loop
zjm.close

En esperant votre aide, sachez que j'ai essaye de trouver ds les exemples et recherche et j'ai échoue

Amicalement !

JeanMarcus

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 oct. 2009 à 00:28
Salut
Il a fallu que je relise 3 fois, j'ai pas bien compris ton problème.
Que représente "zjm" ? Un RecordSet ?
Pourquoi ne pas utiliser la syntaxe qu'on trouve partout quand il s'agit de feuilleter tous els enregistrements d'un RecordSet et dont tu t'es inspiré ?
Do While Not zjm.EOF
  If text1.text = zjm!date then 
    ' Ici ton affichage
    Debug.Print "Accepté", zjm!date
  Else
    Debug.Print "Refusé", zjm!date
  End If
  zjm.MoveNext
  DoEvents
Loop

Est-ce que ça, ça fonctionne ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 oct. 2009 à 11:03
Si tu veux faire des comparaisons autres que l'égalité sur ton format date, ça risque de ne pas fonctionner, ton format de date n'étant pas standard, il y a de fortes chances qu'il ne puisse faire qu'une comparaison de type texte.
De quel type est ta database (DB) ? Access ?
Dans ta Table/DB, de quel type est déclaré ton champ "date" ?
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 oct. 2009 à 00:29
Sans oublier le zjm.MoveFirst avant de commencer la boucle
0
JeanMarcus Messages postés 147 Date d'inscription samedi 28 mai 2005 Statut Membre Dernière intervention 10 mars 2014
22 oct. 2009 à 16:12
bjr jack et merci.

zjm est un recordset et date , un field

debug.print ne donne rien

et zjm.movefirst se plante : erreur 3219

Justement , comme je le disais , je recupere tous les elements selectionnes du mois concerne ( dans la table ) . mais je veux recuperer qu un seul element de ce mois..

dans zjm!date ( recordset et field ) j ai toutes les saisies d evenement de tous les mois et jours de l'annee et en faisant :
text1.text : jj.mm.aaaa je compare bien tous les elements concernes et ca me donne tous les evenements du mois concernes et je voudrais recupere que l'element d un jour

exemple :

dans zjm!date il y a toutes les donnees aléatoire:

10.01.2009 : anniversaire : a
20.06.2009 : r vous : b
25.12.2009 : : noel
22.10.2009 : rendez vs : vbfrance.fr


dans un autres cadre style agenda, il apparait une image signalant un evenement a la date du jour de l'evenement repertorie dans la base :
voici ce code:


a5 = mois en cours
zz = element style image dans un tableau de 41 elements style :

lun mar mer jeu ven sam dim
zz zz zz zz zz zz zz
zz zz zz zz zz zz zz
zz zz zz zz zz zz zz
zz zz zz zz zz zz zz
zz zz zz zz zz zz zz
zz zz zz zz zz zz zz

aa = nombre de jour du mois selectionne
g = jour de l'evenement
h 22.10 et dans zjm!date date 22.10.2009

Do While Not agend01.EOF
For g = 0 To ListBox1.ListCount
If Len(g) < 2 Then g = "0" & g
h = g & "." & a5
If h = Mid$(agend01!Date, 1, 2) & "." & Mid$(agend01!Date, 4, 2) Then
jj = (zz - aa + g)
Image4(jj).Visible = True
End If
Next g
agend01.MoveNext
Loop
agend01.Close
Exit Sub
l'image et les images sont visible a la bonne date et les evenements recherches sont bien repertories et en nombre exact . j'ai verifie grace a une listebox

Mon objectif :

passer la souris sur l'image affichee et connaitre le nombre d'evenement de ce jour


exemple :

dans le tableau ci dessus , le zz correspond a l'image affichee et en passant dessus
je voudrais voir s 'afficher l'evenement :


image(jj.tooltiptex = 1 ou x evenement prevu


j'espere etre assez clair et en esperant une aide ..

j ' enverrai bien tout mon code mais je sais pas zipper et ou l'envoyer !

amicalement !

JeanMarcus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JeanMarcus Messages postés 147 Date d'inscription samedi 28 mai 2005 Statut Membre Dernière intervention 10 mars 2014
22 oct. 2009 à 16:15
re bjr
dsl , j ai oublie . vb6

Public dbzjm01 As Database ' Nom de la base
Public zjm As Recordset ' Nom recordset
Dim tmpTable As TableDef
Dim tmpField As Field

amicalement

JeanMarcus
0
JeanMarcus Messages postés 147 Date d'inscription samedi 28 mai 2005 Statut Membre Dernière intervention 10 mars 2014
28 oct. 2009 à 14:51
Bonjour jack !

Ce petit mot pour t informer que j'ai trouver !
la solution à mon probleme de comparaison .

en fait j 'ai simplement utiliser la fonction Val sur tous les élements à comparer .

Je butte toujours sur les problemes de tri , mais j'essaie !!

Desole du contretemps !

Amicalement

JeanMarcus
0
Rejoignez-nous