Vb+sql+datagrid

Bonjour,

je veux afficher le resultat d'une requette sql dans une datagrid.
je bloque sur ce problemme depuis des jours et je trouve pas la solution et je ne peux pas avancer.
Merci pour votre aide,

Voici le code et l'erreur est "le jeu d'enregistrement ne peut pas prendre en compte les signets"

Private Sub Command6_Click()
Dim d As Date
Dim f As Date
Dim RS As New ADODB.Recordset
Dim RS1 As New ADODB.Recordset
Dim sql As String
d = InputBox("Entrer la première date", "Afficher Etat")
f = InputBox("Entrer la deuxième date", "Afficher Etat")
If RS.State = adStateOpen Then RS.Close
RS.Open "T1", db, adOpenDynamic, adLockOptimistic
sql = "Select * From T1 where [Date Execution] Between " & d & " And " & f
If RS1.State = adStateOpen Then RS1.Close
Set RS1 = New ADODB.Recordset
RS1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS1
End Sub
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. Mais pourquoi je ne trouve pas de réponse?
    0
    1. En sql la date est en anglais il te suffit de transformer ta date jj/mm/aaa en mm/jj/aaaa
      Personne je pratque toujours avec une dateDeb et dateFin c'est plus facile
      ....where.....> dateDebânglais an < dateFinanglais
      'ce qui revient au même que Beetwen
      0
  2. Merci,mais je comprend pas c #
    je trvail avec VB6
    0
    1. vous devez dabord ecrire des reqetes en sql

      voila j ai rempli datagrid en utilisant ce code en c #

      protected void Button1_Click(object sender, EventArgs e)
      {
      string ID_Activites = Request.QueryString["id"].ToString();
      SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyNewConnectionString"].ToString());
      SqlCommand cmd = sqlconn.CreateCommand();
      cmd.CommandText = "spActDetail ";
      cmd.Parameters.Add(new SqlParameter("@Id_Activites", ID_Activites));
      cmd.Parameters.Add(new SqlParameter("@description", Textdescription.Text));
      cmd.Parameters.Add(new SqlParameter("@INN",TextINN.Text));
      cmd.Parameters.Add(new SqlParameter("@OUT",Textout.Text));
      cmd.Parameters.Add(new SqlParameter("@Doc_Remarque", Textremarque.Text));

      cmd.CommandType = CommandType.StoredProcedure;
      sqlconn.Open();
      cmd.ExecuteNonQuery();
      Response.Redirect("Saisie_Detail.aspx?id=" + ID_Activites);

      }

      c mon projet personel vous pouvez remplacer les champs
      0
      1. Vérifie que ton format date est bien dd/mm/yyyy car access fou souvent les dates au format mm/dd/yyyy
        Le type incompatible il se situe où ?
        0
        1. j'ai vérifié le format du champ dans la base.
          le format est :date,abregée pour access(dd/mm/yyyy).
          la requette est selectionnée.
          0
        2. si je supprime : Set DataGrid1.DataSource = RS1
          on m'affiche aucune erreur.
          Pourais je recuperer le resultat du requette autrement(mis a part le datagrid)
          Merci de me repondre.
          0
      2. Essaye au lieu de
        sql = "Select * From T1 where [Date Execution] Between " & d & " And " & f

        ceci :

        sql = "Select * From T1 where [Date Execution] Between " + d + " And " + f +""
        0
        1. ca tourne pas,
          type incompatible
          0