List kun nogle Records fra filed. Database i VB6.

Tags:    visual-basic

Hej allesammen.
Jeg er igang med at lave et program til en kammerat. Har fået lavet det hele, databse osv.

Mangler kun at programmet skal vise nogle Records fra et bestemt field i mit table i min databse.

Der skal være en funktion som gør at den lister medlemmer som har en [Udløbs Dato] < end dags dato.

Jeg lister neden under noget kode.
Håber jeg har forklaret mig tydeligt og godt. Ellers så råb lige af mig :roll:


Dim WithEvents adoPrimaryRS As Recordset
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Form_Load()
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:\Data.mdb;"

Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select Nr,Navn,Adresse,Telefon,Mobil,[Fødselsdags Dato],[Indmeldnings Dato],[Udløbs Dato],Type,Pris from Medlemmer Order by Nr", db, adOpenStatic, adLockOptimistic

Set grdDataGrid.DataSource = adoPrimaryRS


mbDataChanged = False
End Sub




Når man så trykker på denne "Filter knap, så skal den vise alle fileds. men kun dem hvor record [Udløbs Dato] er mindre end dags dato.

Håber der er nogen af jer kloge hoveder der kan hjælpe mig..

Mvh SteffenN



Indlæg senest redigeret d. 04.02.2009 01:03 af Bruger #14658
7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
skal det her ik ind i ()

har ik VB6 på den her pc så kan ik se efter.
Fold kodeboks ind/udKode 


og tænkte ik på hvad format din database var, men hvordan du har gemt datoen inde i databasen. hvis du kigger på datoen i access hvordan ser den så ud?

:) - godt nok længe siden jeg har kigget på VB6



hvad format er din dato gemt som i databasen?
string: 04/02-2009 17:19
timestamp: 1233764355

hvis du har det som timestamp, kan du vel lave noget WHERE dato < now

så det ville nok være noget i den her stil:
dim time_now_var = DateTime.Now.Ticks 'er ik sikker på den der..
adoPrimaryRS.Open "select Nr,Navn,Adresse,Telefon,Mobil,[Fødselsdags Dato],[Indmeldnings Dato],[Udløbs Dato],Type,Pris from Medlemmer WHERE dato < time_now_var Order by Nr", db, adOpenStatic, adLockOptimistic




Hej Kenneth. Tak for dit svar :-D

Det er i mdb format (access)

jeg prøvede at skrive det her i formen:

Dim time_now_var As String
Set adoPrimaryRS = New Recordset
time_now_var = Date 'Time.Now.Ticks kunne den ikke genkende :/ så årøvede med date
adoPrimaryRS.Open "select Nr,Navn,Adresse,Telefon,Mobil,[Fødselsdags Dato],[Indmeldnings Dato],[Udløbs Dato],Type,Pris from Medlemmer WHERE [Udløbs Dato] < time_now_var Order by Nr", db, adOpenStatic, adLockOptimistic

Men her laver den fejl på :
adoPrimaryRS.Open "select Nr,Navn,Adresse,Telefon,Mobil,[Fødselsdags Dato],[Indmeldnings Dato],[Udløbs Dato],Type,Pris from Medlemmer WHERE [Udløbs Dato] < time_now_var Order by Nr", db, adOpenStatic, adLockOptimistic

Fejl: Der er ikke angivet nogen værdi for en eller flere krævede parametre.


:-(
Set grdDataGrid.DataSource = adoPrimaryRS



Hvor ville du have () ind? :)

Jeg har gemt det som Date/Time, det står sådan her 12-12-2008 fx :)

Ja det er jo noget gammelt skidt, men kan ikke finde ud af andet
( ikke at jeg kan finde ud af det her :) hahaha )



Ingen andre der kan finde ud af dette her :(

Jeg kan evt sende projectet, hvis der er fordi jeg ikke forklarer mig ordentlig :)



du kan ikke sige hvis text er mindre en text og det er det du gør her ect: 12-11-2008 < 13-7-2006

du skal bruge en date function som jeg ikke kender eller bruge unix-timestamp



Okay må prøve mig gode ven google :)
tak for hjælpen kenneth



t