IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Formulaire de recherche en visual basic


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Formulaire de recherche en visual basic
    Bonjour a tous et merci pour lire ma question!

    Je vous expose en detail mon souci. Je veux creer un formulaire de recherche en Vb.net qui liste des informations dans un controle ListView.

    Le probleme est que je ne sais pas comment utiliser le controle DateTimePicker (pour les colonnes DataOraPlecare =DateDepart et DataOraSosire=DateArrive j'ai mis 2 labels et 2 textbox mais je dois selectionner les date a l'aide d'un DateTimePicker pour les 2 colonnes DataOraPlecare et DataOraSosire ).

    J'ai creer table FoaieParcursMasina(create table) en sql server ou j'ai introduites des lignes: (insert into)

    Voila le DDL table FoaieParcursMasina pour lancer et voir la structure du tableau FoaieParcursMasina pour ce que je veux faire apres:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    CREATE DATABASE ParcAuto
    CREATE TABLE FoaieParcursMasina
    (IdFoaie int PRIMARY KEY NOT NULL,
    DataFoaieParcurs datetime,
    IdMasina int,
    NumarMasina varchar(255),
    DataOraPlecare datetime,
    DataOraSosire datetime,
    NumeSofer varchar(255),
    LocalitatePlecare varchar(255),
    LocalitateSosire varchar(255),
    KM int,
    CombustibilConsumat int, --combustibil consumat =km*normaL100km
    MotivDeplasare varchar(255),
    MarfaTransportata varchar(255),
    Utilizator varchar(255)
    )
     
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(001,'060207 ',1,'DB-20-RTS','020207 9:32:35','020207 11:20:32','Popescu George','Targoviste','Bucuresti',110,'transport marfa','ciment','Materiale Constructii Bucuresti ');
     
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(002,'090407 ',2,'DB-20-RTS','040407 9:21:20','040407 11:51:42','Popescu George','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(003,'120807 ',3,'DB-02-SPR','040807 9:21:20','040807 11:51:42','Popescu Cosmin','Targoviste','Bucuresti',110,'transport marfa','fier beton','Materiale Constructii Bucuresti ');
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(004,'130807 ',4,'DB-02-SPR','060807 9:21:20','060807 11:51:42','Georgescu Ionel','Targoviste','Bucuresti',110,'transport marfa','fier beton','Materiale Constructii Bucuresti ');
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(005,'150807 ',5,'DB-02-SPR','070807 10:30:20','070807 12:51:42','Ionascu Paul','Targoviste','Bucuresti',110,'transport marfa','fier beton','Materiale Constructii Bucuresti ');
     
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(006,'180807 ',6,'DB-03-STR','110807 10:30:20','110807 12:51:42','Ion Paul','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(007,'180807 ',7,'GL-08-FIT','130807 10:30:20','130807 12:51:42','Pricop George','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(008,'200807 ',8,'GL-08-FIT','140807 10:30:20','140807 12:51:42','Pricop Cristian','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
     
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(009,'250807 ',9,'GL-24-CAR','170807 10:30:20','170807 12:51:42','Enache Florin','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
     
     
    INSERT INTO FoaieParcursMasina(IdFoaie,DataFoaieParcurs,IdMasina,NumarMasina,DataOraPlecare,DataOraSosire,NumeSofer,LocalitatePlecare,LocalitateSosire,KM,MotivDeplasare,MarfaTransportata,Utilizator)
    VALUES(010,'250807 ',10,'GL-24-CAR','170807 10:30:20','170807 12:51:42','Mihai Paul','Targoviste','Medgidia',140,'transport marfa','ciment','Cimentul Medgidia');
    Ce que je veux faire c'est creer une formulaire de recherche qui va afficher les informations dans un ListView. (seulement les colonnes specifies par les labels du gui qui ont le meme nom que les colonne table FoaieParcursMasina du sql server).

    Les informations que je veux afficher sont lu dans des textbox et les dates (DateDepart donc DataOraPlecare colonne a mon cas et DateArrive=DataOraSosire a mon cas doivent etre selectionne avec un DateTimePicker).

    En appuyant le boutton Recherche il va rechercher et lister les informations lu en lisview qui contiennent des informations sur les colonnes: IdMasina,DataOraPlecare,DataOraSosire,LocalitatePlecare(colonne pour la Localite Depart), LocalitateSosire(colonne pour la LocaliteArrive).


    Voila ce que j'ai fais pour l'instant j'attache la source complete dans les pieces jointes.


    Merci pour avoir pris le temps de me lire et un week-end excellent!

    P.S J'utilise Visual Studio 2008.

    Le boutton de quitter ne me derange pas j'essaye de l'implementer avec une option yes/no. Mon probleme est dans le boutton recherche.

    Je vous remercie d'avance pour l'aide

    Si vous avez besoin d'autres details j'attends vos messages!

    En esperant d'avoir explique clair ce que je desire faire (boutton recherche ici c'est le probleme).

  2. #2
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Salut! Je reviens car mon souci n'est pas resolu...

    Meme si le probleme avec le formulaire d'insertion est resolu , mon probleme avec le formulaire de recherche n'est pas resolue!



    Il me parrait plus simple de faire avec la propriete HasRows mais je ne sais pas ou est le probleme.


    Tableau sql server avec rouge c'est les champs impliques dans la recherche:



    L'apercu de ma forme en visual basic 2008 :



    Test fait (introduis l'utilisateur dans les composantes):

    'Textbox1: DB-20-RTS
    DateTimePicker1 07-04-2004
    DateTimePicker2 07-04-2004
    TextBox2:Targoviste
    TextBox3:Medgidia

    Donc il va trouver la deuxieme ligne table FoaieParcursMasini et il va stoquer le resultat dans le listview.


    J'ai lu les tutoriels de votre forum mais je galere a l'implementation du boutton "search":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Form1 . ListView1 . Items . Clear () 
     
    'connection de vb.net en sql server
     
    Dim conexiune As SqlConnection 'variabila conexiune cu mssql
     
    'dans la variable conexiune on precise le nom du serveur , le nom de 'l'utilisateur et aussi la parole est le nom de la base des donnees
     
    conexiune = New SqlConnection("server=HOME-D16ABD96A8\PRIMAVERA;uid=mihaispr;pwd=mihai;database=ParcAuto") 
     
    'en variable qry on realise la requete desire
     
    Dim qry As SqlCommand = new SqlCommand("SELECT NumarMasina,DataOraPlecare,DataOraSosire,LocalitatePlecare,LocalitateSosire FROM FoaieParcursMasina "values (' " & TextBox1.Text & "', ' " &DateTimePicker1.Value&" '  ,' " &DateTimePicker2.Value&" '  ,' " &TextBox2.Text&" ', ' " & TextBox3.Text & " ')", conn) 'je ne sais pas comment lui dire de me prelever ce que l'utilisateur tappes dans les 3 textbox et 2 datetimepicker
    Dim reader As SqlDataReader = cmd.ExecuteReader()
    If Not reader.HasRows Then
    ShowMessage ( "La date n'existe pas dans table FoaieParcursMasina" )
    Else
    ShowMessage("La date existe dans table FoaieParcursMasina!")
    End IF 
     
     ' comment ajouter le resultat de la recherche dans le listbox ?
    'j'ai essaye:
     
    ListView.Add.Items(qry)
    Je sais qu'avec select on n'utilise values mais je ne sais pas comment lui dire de me prelever les valeurs de ma forme(j'ai 3 textbox et 2 datetimepicker).

    Et aussi comment je peux faire l'ajout du resultat dans le listbox?

    J'ai trouve un bon tutoriel ici mais cette piste ne m'aide pas trop beacoup:

    http://www.rajputbrotherhood.com/vis...urce-code.html

    J'ai essaye les deux variantes sans succes!

    Si vous avez des idees je suis preneur! Je veux comprendre le principe de la recherche en general pour me debrouiller dans situations similaires je ne sais pas ce qui m'echappe

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    tu vas de dire que je suis chiant, mais pour faire des requetes SQL il faut apprendre le SQL ... et là aussi il existe des tutos

    SELECT
    [liste des champs] FROM [table(s)] WHERE [conditions]
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    tu vas de dire que je suis chiant, mais pour faire des requetes SQL il faut apprendre le SQL ... et là aussi il existe des tutos

    SELECT
    [liste des champs] FROM [table(s)] WHERE [conditions]
    Ok oui je sais.

    Voila ce que j'ai essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
    Dim conexiune As SqlConnection 'variable connexion avec sql serveur 
    Dim comandasql As SqlCommand 'variable pour la requete
    Dim msg As String ' msg -variable si on est connecte ou non
    Dim lvwItem As New ListViewItem()
     
     
    'connexion avec sql serveur sur le serveur, utilisateur, parole et base 'des donnees
     
     
    conexiune = New SqlConnection("server=HOME-D16ABD96A8\PRIMAVERA;uid=mihaispr;pwd=mihai;database=Test")
     
       conexiune.Open() ' ouvrir la connexion
    comandasql = New SqlCommand("SELECT NumarMasina,DataOraPlecare,DataOraSosire,LocalitatePlecare,LocalitateSosire FROM FoaieParcursMasina "&"WHERE NumarMasina = '" & TextBox1.Text & "'& "AND DataOraSosire = "& DateTimePicker1.Value & "'& "AND DataOraPlecare = "& DateTimePicker2.Value & "'& "AND DataOraSosire = "& DateTimePicker2.Value & "'& "AND LocalitatePlecare = "& TextBox2.Text & "'& "AND LocalitateSosire = "& TextBox3.Text & "' )",conexiune)
     
    comandasql.ExecuteNonQuery()
     
    If conexiune = True Then 'si on est connecte apparait showmsg
                MessageBox.Show("Je suis connecte" & msg)
            Else ''si on n'est pas connecte apparait ce showmsg
                MessageBox.Show("Je ne suis pas connecte" & msg)
            End If
     
    'ajouter dans le listview la requete
     
     
    Dim reader As SqlDataReader = command.ExecuteReader()
     
     
            While reader.Read()
    'pour les 3 textboxes et 2 datetimepickers sur la forme
     
                lvwItem = ListView1.Items.Add(reader.GetString(0))
     
                lvwItem.SubItems.Add(reader.GetString(1))
     
                lvwItem.SubItems.Add(reader.GetString(2))
     
                lvwItem.SubItems.Add(reader.GetString(3))
     
                lvwItem.SubItems.Add(reader.GetString(4))
     
     
            End While 
       conexiune.Close() ' terminer la connection
    Encore je ne recois pas le reponse a ma question

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    je ne vois pas de question claire par rapport au where ...
    de plus tu nous ferais un message du genre "j'essaye de faire ca mais l'erreur machin s'affiche" on pourrait te répondre ce que veux dire l'erreur

    on ne peut pas coder à ta place, on peut seulement t'indiquer des cas génériques à toi de les comprendre et de les adapter à ta situation


    mais déjà si ton code c'est réellement ca, il manque des guillements et y a des soucis de '

    de plus il ne faut pas concaténer une requete avec des textbox, il faut utiliser des sqlparameters, la aussi tu peux trouver des infos sur le net


    aussi, ca sert ExecuteNonQuery sert à exécuter des requetes qui ne sont pas des SELECT donc fait le ExecuteReader directement ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Lol c'etait evident que j'ai manque des '.

    Meme quand on est fatigue tu ne veux pas aider.

    Merci de ne pas poster!


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche prof. pour cours Visual Basic en Suisse
    Par shany31 dans le forum Autres
    Réponses: 0
    Dernier message: 07/10/2008, 12h54
  2. recherche source visual basic 6.0
    Par andregoub dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/01/2007, 15h18
  3. Réponses: 4
    Dernier message: 07/06/2006, 11h20
  4. Visual basic/formulaire
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 10/05/2006, 14h14
  5. recherche tutoriel visual basic version 8
    Par shnouf dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/02/2006, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo