[access] comparer donnée formulaire

Résolu/Fermé
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 - 5 avril 2007 à 11:54
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 - 20 avril 2007 à 17:28
Bonjour,

Une fois de plus j'ai besoin de vos conseils :

J'ai un formulaire de création de prise où j'ai 5 champs :

le champ Prise rempli automatiquement
le champ Switch pour indiquer le Switch concerné
le champ Port pour indiquer le port concerné
le champ Remarque
le champ Type de switch

En fait ce que je cherche à faire, c'est qu'après avoir rentrer le numéro de Switch, si le port saisie est déjà pris par une autre prise (visible dans ma table T_PRISE), qu'Access me dise via une msgbox que la ressource est déjà utilisée.
Ou mieux encore, c'est que au moment de la saisie de Switch, qu'Access me dise directement quels ports sont disponibles ou non, mais c'est déjà plus corsé.

En fait j'ai cherché comment faire cela via la fonction Dlookup mais trouver la syntaxe pour comparer le Switch de les ports utilisés me parait legèrement ardue !!!
Je cherche comment faire autrement mais je ne vois pas trop, si quelqu'un a une idée ou une piste, ce serai très très sympa :-)

16 réponses

blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
5 avril 2007 à 12:54
Salut,

ce que tu peux faire, c'est transformer ta saisie de port en liste déroulante, et lorsque tu saisis un switch, créer une requête qui va chercher les ports dispo, et que tu mets en .rowsource de ta liste choix_port...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
5 avril 2007 à 16:36
merci blux pour ta réponse, tu va vraiment devenir un saint pour moi (ou une sainte lol). Aurais-tu une photo que je puis mettre au dessus de mon lit ?? :p

à part la plaisanterie de bas niveau. En fait ce que je voulai faire c'est créer une liste déroulante pour les switchs déjà, pour que quand ma prise est par exemple 2310A (donc 2e etage), qu'il interprete le 2 comme l'etage et qu'il me donne que le choix entre les switchs du 2e etage (ex: RSSTAE23 où le 2 est de nouveau l'etage).
Ensuite à partir de là, que les port disponibles s'affichent dans une liste déroulante comme tu me le conseil, ou sous une autre forme...

Je viens seulement de revenir devant mon poste donc je vais me pencher sur ton conseil, et au pire j'essairai d'avancer ce WE... si jamai tu as un autre conseil par rapport à ce que je viens de dire, ba hésite pas..

merci encore !!
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
5 avril 2007 à 16:49
un saint pour moi (ou une sainte lol). Aurais-tu une photo que je puis mettre au dessus de mon lit ??
Mon profil suffira...

Il te suffit te récupérer une partie de ton numéro de prise (avec left, right et tout le toutim) pour passer ça en paramètre de la requête switch que tu mettras en .rowsource...

num = left(prise,1)
strsql = "select .... from switch where mid(switch,7,1) = " & num & ";"
liste_switch.rowsource = strsql

Ou un truc comme ça, je l'ai écrit en vitesse, je ne suis pas sûr de la syntaxe...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
5 avril 2007 à 16:53
Ok merci blux

je testerai tout ça durant le WE de paques et jte dirai ce qu'il en est...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
7 avril 2007 à 15:44
bonjour

bon j'ai tester quelque chose avec la fonction left pour extraire le 1er caractère de mon num de prise mais g une erreur "Projet ou bibliotheque introuvable) sur la fonction Left. Je sais ps cela viens peut etre du fait que je ne travail pas sur le PC habituel de ma bse. En tous cas voici le code, si quelqu'un sait pourquoi j'ai une telle erreur....

Dim num
num = Prise.Value

num = Left(Prise, 1)
msgbox num
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
7 avril 2007 à 17:19
bon j'ai réussi à faire ce que je voulais avec le code suivant :

Private Sub Modifiable70_Enter()
 Dim num 
Dim StrSql 
num = Prise.Value 
num = Left(Prise, 1)   
StrSql = "SELECT [N° Switch] from R_AJOUT_PRIZ WHERE mid([N° Switch],7,1) = " & num & ";"   
Modifiable70.RowSource = StrSql 
End Sub


Cela fonctionne à merveille sauf que maintenant j'ai une utre contrainte :
tous les switchs d'etage ont la nomenclature RSSTAE.. donc grace au code ci dessus, j'arrive à ne selectionner que les switchs d'Etage de la prise concerné sauf qu'il me faut aussi systématiquement les switchs d'imprimante avec la nomenclature suivante RSSTAG..

mon problème est d'arriver à ce que Access inclue toujours c'est switchs peut importe l'Etage. J'ai déjà fait des recherches et des essais mais je n'y parvient pas, voici un des codes que j'ai essayé, donc is vous pouviez m'aider ce serai top !!!

Dim StrSql2
StrSql2 = "SELECT [N° Switch] from R_AJOUT_PRIZ WHERE Left(N° Switch, 6)= " & "RSSTAG" & ";"
Modifiable70.RowSource = StrSql2


J'ai aussi penser à faire la chose suivante mais je n'y arrive pas non plus : dans ma requete R_AJOUT_PRIZ, j'ai un champ "Type de switch" donc il faudrai que je lui dise via VBA de toujours selectionner les N° de Switch d'un Type Imprimante, mais je coince
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
9 avril 2007 à 20:16
Bonjour

bon, j'ai réussi à régler mon souci de switchs et de switchs d'imprimante via ceci :

StrSql = "SELECT [N° Switch] from R_AJOUT_PRIZ WHERE (mid([N° Switch],7,1) = " & num & ") OR (Left([N° Switch], 6)= " & "'RSSTAG'" & ");"


maintenant je peux presque clôre ce topic, j'ai juste encore à trouver la bonne requete pour qu'Access me calcule les ports dispos selon le switch sélectionner, donc mon problème de départ...

Je voulais simplement te tenir u courant blux, vu que c'est toi qui m'a aidé jusque là....
Bref, je verrai cela demain

Bonne soirée à tous...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
10 avril 2007 à 11:50
Bonjour à tous

Quelqu'un aurait-il la moindre idée de comment m'y prednre pour créer une requete qui me calcul quels ports sont disponibles pour un switch donné selectionné ?? et comment calculer le nombre de ports dispos par switchs ???

car je cherche depuis 2h30 et je ne trouve absolument rien du tout, je ne vois absolument pas comment faire cela.


please help car je nage...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
10 avril 2007 à 12:19
Bon j'ai réussi à créer une requete qui m'affiche le nombre de ports utilisés par switchs mais je n'arrive pas à trouver comment faire pour qu'il me dise quelles prises sont concernées...

vous trouverez via ce lien, une image de l'etat de ma requete :

http://hebergement-images.voiloo.net/membres/viewimg.php?img=3c731da1ed2a87cb9d4f0d319c5a6712.jpg

c'est vraiment compliqué tout ça et j'avoue que là je patoge !!!
0

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

Posez votre question
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
10 avril 2007 à 13:11
C'est trop simple (donc j'ai pas du comprendre la question !) :

select [port switch] from t_prise, t_switch where [switch d'etage] = [N°switch] and [N°switch] = "le_switch_de_mon_choix";
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
10 avril 2007 à 14:10
Je vais essayer ta solution blux.

Je récapitule mon souci :-)

J'ai un formulaire de création de prise où, grace à une liste déroulante, je choisi un switch (logique jusque là).
Lorsque j'ai choisi ce switch, je veux (par exemple dans une autre liste deroulante) choisir le port. Sauf que je ne veux afficher que les ports du switch qui sont libres.

Je cherche egalement à savoir le nombre de ports disponibles par switch mais aussi, lorsque je choisi un switch, savoir (via une zone de texte) quels ports sont occupés et par quelles prises.
Je sais ça fait beaucoup de choses mais une fois que je saurais ça, je vais avoir largement moins de problèmes :-)

Pour le moment j'arrive à calculer le nombre de ports occupés pour un switch donné via le lien de mon post précédent.
J'espère avoir réussi à etre clair dans mes explications, je cherche depuis ce matin comment faire tout cela et je rame vraiment...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
10 avril 2007 à 15:54
J'ai pensé que si je créer une table PORTS avec simplement un champ Port numéroté de 1 à 24 cela pourrait peut etre aidé non ???

Enfin bon, je m'égousille là dessus depuis ce matin et je n'avance pas d'un poil !! ça commence à me gonfler mais bon, j'y arriverai j'ai pas le choix, en espérant que ce soit avec votre aide ;-)
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
10 avril 2007 à 15:58
La requête donnée en 9 ne suffit pas ?
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
10 avril 2007 à 16:37
Ba non, je l'ai testé dans le code VBA de mon formulaire et directement dans le code SQL de ma requete mais cela ne produit aucun effet...

Pour etre sûr que j'ai interpreté correctement ton code, je te met ci dessous ce que j'ai mis...

SELECT [Switch d'Etage] FROM T_PRISE, T_SWITCH WHERE [Switch d'Etage] = [N° Switch] and [N° Switch] = "Formulaires![F_RCH_PORT_SWITCH]![Switch d'Etage] "; 


Je l'ai peut etre mal interprété
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
10 avril 2007 à 16:40
T'as pas oublié des & pour concaténer ?
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
10 avril 2007 à 17:43
Ba pour etre franc, j'ai testé ta solution vite fait car j'ai dû partir du boulot donc je m'y remet dès demain...

c'est peut etre idiot ce que je vais dire mais concaténer quoi ??
un truc du genre ??

SELECT [Switch d'Etage] FROM T_PRISE, T_SWITCH WHERE [Switch d'Etage] = [N° Switch] and [N° Switch] = " & Formulaires![F_RCH_PORT_SWITCH]![Switch d'Etage & "; 


mais dans ce cas je vois qu'est ce que je concatène avec quoi lol
ou alors tu parles de cette partie ?

SELECT [Switch d'Etage] FROM T_PRISE, T_SWITCH 


avec une concaténation à ce niveau ??

SELECT [Switch d'Etage] FROM T_PRISE, & T_SWITCH & 


c'est peut etre totalement idiot ce que je suppose là mais disons que je suis ps le plus familier avec SQL même si j'ai compris ce que j'ai fait jusqu'ici (j'evite de faire quelque chose que je comprend ps en général), déjà que je commence à comprendre VBA tout juste !
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
11 avril 2007 à 08:32
Ta requête, tu l'exécute comment ? C'est un rowsource ? Si oui, alors il faut intégrer les & comme tu le dis dans ton premier exemple...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
11 avril 2007 à 10:47
Oui j'execute ma requete avec un rowsource dans une zone de liste de mon formulaire mais aucun effet, j'ai dû oublier quelque chose...

voici ma requete :

SELECT [T_PRISE].[Switch d'Etage]
FROM T_PRISE, T_SWITCH
WHERE ((([T_PRISE].[Switch d'Etage])=[N° Switch]) And (([T_SWITCH].[N° Switch])=" & Switch d'Etage  & "));


et le code de ma zone de liste :

Private Sub Liste6_Enter()
Dim essai
essai = [R_ESSAI]
Me.Liste6.RowSource = essai
End Sub


Je vais revérifier, il doit y avoir quelque chose de pas clair ou alors je ne suis pas bien reveillé lol
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
11 avril 2007 à 11:10
Ton code ne doit pas être comme tu l'indiques, la requête dont être clirement définie (pas de paramètres en 'live') et le code ne doit pas être mis quand on rentre dans la liste (liste6_enter) mais quand on saisit un truc avant...

Private Sub Liste6_Enter()
Dim essai
essai = "SELECT [T_PRISE].[Switch d'Etage] "
essai = essai + " FROM T_PRISE, T_SWITCH "
essai = essai + " WHERE ((([T_PRISE].[Switch d'Etage])=[N° Switch]) "
essai = essai + " And (([T_SWITCH].[N° Switch])=" & [Switch d'Etage].value & "));
Me.Liste6.RowSource = essai
End Sub
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13 > blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024
11 avril 2007 à 11:25
Merci blux

J'ai testé ton code mais le résultat fait que, dans mon formulaire j'ai une inputbox qui apparait me demandant un paramètre pour le switch selectionné à ce moment là.

Dans tous les cas, une chose que je comprend pas : je cherche, lors d'une création de prise et après le choix d'un switch, de ne pouvoir choisir que les ports disponibles sur le switch selectionné et dans ce code que tu me conseilles, je ne vois aucune notion de port lol. Nous sommes nous bien compris au départ ou m'étais-je mal exprimé ??

Car dans le dernier post que j'avai laissé, j'ai pensé à faire en sorte que dans une zone de texte (par exemple) l'ensemble des ports du switch concerné s'affiche, pour ensuite inversé la chose et me lister les ports disponibles...
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289 > blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024
11 avril 2007 à 11:32
Ma requête donnée en 9 parle bien des ports... Tu as dû la lire de travers... :-)
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
11 avril 2007 à 10:50
J'ai testé autre chose c'est à dire que j'ai fait une requete avec simplement le N° de switch et le port de ma table T_PRISE. Puis j'ai un formulaire rapide où j'ai mon numéro de Switch et mon port sous zone de texte. Mais ce que je cherche à faire, c'est afficher tous les enregistrement de ma zone de texte Port dans un seul enregistrement de mon formulaire.

En gros, de lister tous les ports concerné par le switch X dans ma zone de texte.
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
11 avril 2007 à 12:43
Faut faire un recordset, le parcourir et concaténer les résulats, pour à la fin les afficher dans une seule zone...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13 > blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024
11 avril 2007 à 12:46
Ouinnn j'ai jamais fait ça lol

Je vais essayer mais je te promet rien.
Je n'arrete pas d'essayer différentes choses et je commence à plus savoir ce que je fait réellement lol
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289 > mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019
11 avril 2007 à 13:13
je commence à plus savoir ce que je fait réellement lol
C'est bien ce que tes différents messages tendent à prouver ;-)
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13 > mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019
11 avril 2007 à 14:23
Oui je sai ;-(

limite faudrais que je reprenne tout du début mais c'est surtout que je ne sais tjs pas comment faire ce que je veux faire au mieux.

J'aimerai te demander un service :
pourrais-tu me donner les trames de la démarche pour créer un recordset, le parcourir.... ??

J'ai chercher et lu deux trois trucs sur les recordset et je ne comprends pas bien la démarche...

En espérant pas t'ennuyer à force :-)
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289 > mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019
11 avril 2007 à 14:30
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
11 avril 2007 à 11:47
Autant pour moi, en effet j'ai dû mal lire.... désolé

(Je commence tout doucement à m'embrouiller tout seul lol)

Par contre pourrais-tu me dire si l'idée que j'ai évoqué en 19 ne serai pas une solution plus simplement réalisable ??
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
11 avril 2007 à 15:56
J'ai répondu en 24 et tu es parti sur autre chose ensuite...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
11 avril 2007 à 15:58
Oui mais je saisie pas l'histoire de recordset, c'est pour cela que je suis parti sur autre chose. Dieu que c'est compliqué tout ça...
0
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 209
11 avril 2007 à 16:21
salut je suis le boulet que blux aide sur les recordset

je comprend pas tres bien ce que tu veu faire en 19
0
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 209
11 avril 2007 à 16:48
si tu veut pas ue je t'aide repond pas au question

c'est mieux!!!!!!!!!!
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13 > fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021
11 avril 2007 à 23:32
Bonjour flo

excuse moi, c'est pas que je voulais pas te répondre, c'est juste que j'ai d'abord répondu à blux, puis je voulais te répondre de suite mais merci le plantage ! Donc mille excuses...

donc pour te répondre

ba en fait je crois que je suis le 2e boulet que blux aide depuis deux semaines :p

en fait ce que j'ai mis en 19 était simplement un test. J'ai voulu, lorsque je choisi mon switch via une liste déroulante, que tous les ports occupés, donc déjà enregistrer, concernant le switch en question, s'affichent dans une zone de texte et non dans des enregistrements distincts...

Capiche ?? lol, je dit ça parce que je sais que je suis pas doué pour les explications...

voilà, désolé encore

bonne nuit...
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
11 avril 2007 à 16:31
On reprend :

est-ce que la requête 10 sort bien les ports affectés à un switch quand on la restreint avec un N° de switch ? (à tester dans ACCESS sans VBA, ni tout le toutim...)
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
11 avril 2007 à 16:38
la requete en 10 me sort du vent c'est à dire que la seule chose qu'elle m'affiche est une entete de colonne "Port Switch" sans rien dessous...

En plus je viens de remarquer que un truc ne fonctionne plus alors que ça marchai très bien et que je n'y ai pas touché !
quand je clic sur le bouton "enregistrer" de mon formulaire d'ajout prise, il ne me sauvegarde plus rien...

C'est pile le truc que je déteste dans Access : d'abord tout fonctionne puis, par la magie du st-esprit, ça ne fonctionne plus, mais bref c'est un autre souci...
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289 > mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019
11 avril 2007 à 16:46
En plus je viens de remarquer que un truc ne fonctionne plus alors que ça marchai très bien et que je n'y ai pas touché !
Ca m'f'ra toujours rire, ça... :-)

la requete en 10 me sort du vent c'est à dire que la seule chose qu'elle m'affiche est une entete de colonne "Port Switch" sans rien dessous...

Pas très normal, je me serais trompé dans la requête ? Si tu ne restreins pas avec un numéro de switch, ça donne quoi ?

Un doute qui me taraude : les entrées dans t_prise sont bien créées quand tu branches la prise à un switch ?
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13 > blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024
11 avril 2007 à 23:58
En plus je viens de remarquer que un truc ne fonctionne plus alors que ça marchai très bien et que je n'y ai pas touché !
Ca m'f'ra toujours rire, ça... :-)

Si si, promis !! une requete à laquelle j'ai pas touché depuis qu'elle fonctionne et là, ba.............................. bref lol

Pour ta première question, je verrai ça demain et te tiens au courant...

Et pour cette fameuse question qui te taraude lol, oui tous les champs de ma table T_PRISE sont crées quand je crée une prise physiquement, dès qu'elle devient active en gros...

Bonne nuit...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13 > blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024
12 avril 2007 à 12:23
Bonjour tout le monde

bon quelques nouvelles : en fait j'ai vu une personne se matin et j'ai trouvé une autre façon pour m'y prendre. En fait selon le switch selectionné (lors de la cration d'une prise), j'ai mis une zone de texte qui m'affiche l'ensemble des ports déjà utilisés via ce code :

test = Me.Switch.Value
'MsgBox test

test2 = "SELECT [Switch d'Etage] FROM R_RCH_PRIZ WHERE [Switch d'Etage] = " & test & " ;"

essai = "SELECT [Port Switch] FROM R_RCH_PRIZ WHERE [Switch d'Etage] = '" & test & "' ;"
Me.Liste74.RowSource = essai


Ce code étant applique sur la zone de liste du choix du switch.

Une fois que je connais les ports utilisés, j'ai mis une zone de liste déroulante avec un choix allant de 1 à 24 (vu qu'il y a 24 ports par switch). Sur cette liste je veux comparer la valeur selectionnée au contenu du ma zone de texte qui affiche les ports utilisés. Si l'utilisateur choisi un port déjà utilisé, je veux une Msgbox qui lui le dise et si le port n'est pas utilisé, ba tout va bien.

Voici le code :

Private Sub Modifiable78_BeforeUpdate(Cancel As Integer)

Dim truc
Dim truc2

Me.Modifiable78.OnChange = truc
truc = Me.Modifiable78.Value

truc2 = "SELECT [Port Switch] FROM R_RCH_PRIZ WHERE [Port Switch] = '" & truc & "' ;"
'truc2 = truc2 + "SELECT [Port Switch] FROM R_RCH_PRIZ WHERE [Switch d'Etage] = '" & test & "' ;"

If truc2 = essai Then
    MsgBox "faux"
Else
    MsgBox "ok"
End If

End Sub


Voilà où j'en suis, seulement il doit y avoir un truc qui coche dans le 2e code car j'ai une msgbox "ok" à chaque coup... si vous voyez l'erreur, je suis preneur :-) en attendant, je cherche...
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289 > mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019
12 avril 2007 à 12:47
truc2 est une chaine de car qui contient un texte de requête, tu l'exécutes quand ? tu récupères les résultats où ?
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
20 avril 2007 à 10:40
Bonjour

Ba je cherche depuis ce matin, en suivant ton raisonnement de faire cela, sauf que pour l'instant......

Lol, c'est pas evident mais je trouverai, merci pour tes indications blux même si en relisant ton code, y'a certaines choses que je ne comprend pas :-( genre :

Set Ws = DBEngine.CreateWorkspace("tmp", "admin", "", dbUseJet)


par exemple !
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
20 avril 2007 à 10:44
La création du workspace est là pour la gestion de la transaction...

Pour le reste :

une requête UPDATE T_PORT SET prise = '' WHERE SWITCH = AND PORT =
et DELETE * FROM PRISE WHERE PRISE =

Un truc comme ça, en fait...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
20 avril 2007 à 11:32
Ouai bon j'ai testé pas mal de trucs, et pas le résultat voulu lol. Soit j'efface tout, soit j'efface rien...

Pas evident à comprendre tout ça :-)
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
20 avril 2007 à 11:43
Update pour remttre à blanc le champ prise de la table port (sans supprimer la ligne, hein ?!)
delete pour supprimer la ligne entière dans la table prise...

Je ne voois rien d'autre...
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13
20 avril 2007 à 11:59
lol, je croi que j'ai mis "Résolu" un peu rapidement :p

En fait j'ai testé le code qui suit mais il me dit "objet requis"

Dim test

test = "UPDATE T_PORT SET Prise = '" & Resultat.Value & "' WHERE [N°Switch] = '" & Switch.Value & "' AND PORT = '" & Port.Value & "'"
test = test & "DELETE [Port] FROM T_PORT WHERE Prise =  'Calcul' 


Je crois que je galère un peu à comprendre tou ça :-(
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289 > mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019
20 avril 2007 à 13:34
Si tu mets prise = 'calcul', il va te chercher une prise qui s'appelle calcul, pis faudra fermer les quotes...

Et c'est pas vraiment utile de mettre deux requêtes l'une derrière l'autre...

object requis ? à quel moment ? sur quelle instruction ?
0
mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019 13 > mat67000 Messages postés 401 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 10 décembre 2019
20 avril 2007 à 14:54
Bon, j'ai mis cela :

Dim test
Dim test2

test = "UPDATE T_PORT SET Prise = '" & Resultat.Value & "' WHERE [N°Switch] = '" & Switch.Value & "' AND PORT = '" & Port.Value & "'"
test2 = "DELETE [Port] FROM T_PORT WHERE Prise =  '" & Resultat.Value & "'; "
MsgBox test
MsgBox test2


mais je ne sais pas si ca fonctionne car au moment du click, j'ai une MsgBox "Objet Requis", but why ??
0