2011-11-29 4 views
0

J'ai une instruction SQL que j'essaie d'utiliser pour connecter un programme vb.net à une base de données d'accès. J'utilise pour les sélecteurs de date/heure pour fournir les dates. J'ai cherché autour et les différents changements que j'ai apportés à la déclaration n'ont donné aucun résultat. Pour ce que sa valeur cette requête fonctionne bien dans les accès:SQL entre deux dates avec accès

SELECT * FROM tblcallLog 
    WHERE startDate Between #" & dspstart.text & "# AND #" & dtpend.text & "#" 

OK ici est tout l'événement de clic, par @ la demande de ajax81

Entrez le code ici

Private Sub btnDateUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDateUpdate.Click 
     grpT2DateRange.Visible = True 
     grpT2SingleStaff.Visible = True 
     grpT2Transfer.Visible = True 
     lblT2TotalCallsData.Visible = True 


     Dim strSDate As String = dtpStart.Text 
     Dim strEDate As String = dtpEnd.Text 

     'CountDate Variables 
     Dim strSQLCountDate As String = _ 
"SELECT * FROM tblcallLog WHERE startDate Between #" & dtpStart.Text & "# AND #" & dtpEnd.Text & "#" 
     Dim odaCallDate As New OleDb.OleDbDataAdapter(strSQLCountDate, strPath) 
     Dim datCallDateCount As New DataTable 
     Dim intDateCount As Integer 

     intDateCount = datCallDateCount.Rows.Count 
     lblT2TotalCallsData.Text = intDateCount.ToString 
enter code here 
+0

essayez d'utiliser une requête paramétrée, cela fonctionnera probablement mieux et évitera la vulnérabilité de l'injection sql. – BlackICE

+0

Vous nous avez montré ce qui fonctionne. Que faites-vous qui ne fonctionne pas? Un extrait du code qui ne renvoie aucun résultat est nécessaire pour vous donner une aide significative. – mwolfe02

Répondre

0

Un petit ' gotcha 'qui m'a arrimé il y a quelques mois était que les dates n'étaient pas entrées dans le même format; c'est-à-dire assurez-vous que vous comparez mm/jj/aaaa à mm/jj/aaaa et non mm/jj/aaaa à jj/mm/aaaa.

Modifier: Un autre petit «gotcha» que je viens de remarquer - les identifiants de champ de date utilisés pour les instructions ont tendance à être préfixés avec le même acronyme. Êtes-vous sûr de référencer les bons champs? (vous avez dspStart et dtpEnd ...)

+0

Je suis d'accord avec les champs ... c'était un typeo de ma part. L'intéressant c'est la propriété 'value' du sélecteur de date et heure, il retourne aussi l'heure ainsi que la date. Cependant, j'ai mis une valeur dans 'custom' pour 'mm/jj/aaaa' et j'ai assigné dtpstart.text et dtpend.text aux variables et les ai montrés à l'écran ... ils ont seulement retourné des dates. Des pensées? – Brad

+0

Hmm ... Y a-t-il une chance que votre requête se déclenche avant que les dates soient correctement formatées? Vous pouvez peut-être publier votre code en tant que modification de votre question afin que la communauté puisse mieux voir ce qui se passe. –

+0

ajouté le code supplémentaire par votre suggestion. Merci pour l'aide. – Brad