Qery per data

giovedì 10 gennaio 2013 - 16.21

Carmelo1965 Profilo | Junior Member

Ciao, ho fatto questa query. pur troppo mi fa vedere soltanto la data corrente e non quelle precedenti. Come posso risolvere la cosa...

Dim con As New OleDb.OleDbConnection
Dim sql As String
Dim ds As New DataSet
Dim rs As New ADODB.Recordset
Dim da As OleDb.OleDbDataAdapter
Dim bs As New BindingSource
Dim mm As Date
dat.Text = (mm.Today)



con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =C:\ANAGRAFICA CONTATTI\Contatti.mdb"

con.Open()
sql = "SELECT * FROM Passati where Data_Appuntamento <= 'mm'"
ds = New DataSet("Passati")

da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "Passati")

'Si crea la BindingSource
bs = New BindingSource()
bs.DataSource = ds
bs.DataMember = "Passati"
'Che si collega al dataset che contiene la nostra tabella
Appuntamento.Show()


Dgv1.DataSource = Me.BsPasric

Una giornata solare e buon lavoro :-)

ridaria Profilo | Expert

ma il campo su cui cerchi è di tipo data?

verifica che formato vuole il db se per caso vuole quello americano:

e cioè: mese giorno anno


ciao
Riccardo D'Aria

Carmelo1965 Profilo | Junior Member

il campo è giorno mese e anno, come faccio a dirgli di cercare mese giorno e anno.

Una giornata solare e buon lavoro :-)

ridaria Profilo | Expert

... devi modificare la struttura della data cher usi per cercare.

fai una prova con una stringa che abbia una struttura diversa da quella italiana.

Italiana: "11/01/2013"

americana: "01/11/2013"

Ciao
Riccardo D'Aria

Carmelo1965 Profilo | Junior Member

Già provato e non funziona pur troppo... forse perchè la data è del tipo stringa potrebbe essere quello il problema, è un campo txt normale
Una giornata solare e buon lavoro :-)

Carmelo1965 Profilo | Junior Member

CIAO RAGAZZI STO IMPAZZENDO HO FATTO UNA NUOVA APPLICAZIONE PER CAPIRE SE FUNZIONA PULITA E SENZA ALTRI INTOPPI, INSOMMA NON FUNZIONAAAA LA QUERY - PER QUALE MOTIVO FUNZIONA SOLTANTO DALLA QUERY DEL DATASET A ME SERVE LA QUERY DA FORM
VI MANDO TUTTO L'ESEMPIO - NON TROVA NULLA E NON FA NULLA E NON SEGNA ALCUN ERRORE

Imports System.Data
Imports System.Data.OleDb
Imports System.Data.Sql
Imports System.Data.SqlClient
Imports System.Windows.Forms


Public Class Form1

Public Sub New()

' This call is required by the Windows Form Designer.
InitializeComponent()

' Add exercise code here:


End Sub



Private Sub PassatiBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PassatiBindingNavigatorSaveItem.Click
Me.Validate()
Me.PassatiBindingSource.EndEdit()
Me.PassatiTableAdapter.Update(Me.ContattiDataSet.Passati)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: questa riga di codice carica i dati nella tabella 'ContattiDataSet.Passati'. È possibile spostarla o rimuoverla se necessario.
Me.PassatiTableAdapter.Fill(Me.ContattiDataSet.Passati)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New OleDb.OleDbConnection
Dim sql As String
Dim ds As New DataSet
Dim rs As New ADODB.Recordset
Dim da As OleDb.OleDbDataAdapter
Dim bs As New BindingSource

con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =C:\ANAGRAFICA CONTATTI\Contatti.mdb"

con.Open()
sql = "SELECT * FROM Passati WHERE Azienda = 'PROVA'"


ds = New DataSet("Passati")

da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "Passati")
'Si crea la BindingSource
bs = New BindingSource()
bs.DataSource = ds
bs.DataMember = "Passati"
'Che si collega al dataset che contiene la nostra tabella


PassatiDataGridView.DataSource = Me.PassatiBindingSource

Una giornata solare e buon lavoro :-)

ridaria Profilo | Expert

e certo!!

sul db il campo deve essere di tipo date!


Ciao
Riccardo D'Aria

Carmelo1965 Profilo | Junior Member

IL PROBLEMA E' CHE NON MI TROVA NEPPURE IL CAMPO AZIENDA CHE E' NORMALE COME TESTO
Una giornata solare e buon lavoro :-)

Carmelo1965 Profilo | Junior Member

MI SEGNA ERRORE <= DOVE POSSO METTERLO
sql = "SELECT * FROM Passati WHERE Data_Appuntamento LIKE <= ' " & Trova.Text & "%' "

Una giornata solare e buon lavoro :-)

ridaria Profilo | Expert

>MI SEGNA ERRORE <= DOVE POSSO METTERLO
>sql = "SELECT * FROM Passati WHERE Data_Appuntamento LIKE
><= ' " & Trova.Text & "%' "



ma like <= non è corretto;

l'operatore like va usato senza operatori di uguaglianza o differenza!

Ti suggerisco di dare una letta a qualche articolo sull'operatore like.

uno è questo: http://www.lapaweb.com/operatore-like-in-sql.html

CIAO

Riccardo D'Aria

Carmelo1965 Profilo | Junior Member

si ho tolto like ma non funziona lo stesso.. è stata una svista.. grazie mille
Una giornata solare e buon lavoro :-)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5