|
| Kommentar Fra : e.c |
Dato : 14-08-07 17:12 |
|
Du kan jo lave en forespørgsel og søge efter Østergade 3 i den tabel og 1234 i postnummertabellen.
Hvis du har det hele i samme tabel så kan du måske bruge "østergade"&"1234" i tabellen hvor dette skal forekomme.
Det er snat nogle år siden, at jeg arbejdede med Access.
| |
| Kommentar Fra : meiland |
Dato : 15-08-07 15:06 |
|
Hej EC.
Tak for dit svar. Du har ret i at jeg kan finde posten ved at "filtrere" i forespørgelsen. Inddateringsformularen skal så have "forbindelse" til forespørgelsen. Det er noget indviklet, hvis det er en ikke access kyndig der arbejder.
Det må kunne gøres mere fikst !... eller.... ????
| |
| Kommentar Fra : e.c |
Dato : 15-08-07 17:06 |
|
Skal det indtastes i formularen og samtidig undgå at der tastes dubletter.
Så kan der laves auto indtastning så Østergade 3 selv dukker op eller de skrives videre til Østergade 4 (som nok har samme postnummer)
Østergade og postnummer/by bør ligge i hver sin tabel.
Årsag:
Der findes flere Østergader
Postnummer og tilhørende by skal følges ad i en tabel
Men det kommer jo an på hvor omfattende din database er.
| |
| Kommentar Fra : meiland |
Dato : 15-08-07 23:22 |
|
Hej EC.
Mit eksempel med gadenavn og postnummer er måske ikke særligt godt, men for ikke at gå for langt ind i en forklaring.... bla bla.....
Konkret sidder jeg og arbejder med en database der indeholder data for et forbrugsafgiftssystem. Hver ejendom optræder flere gange med forskellige takstgrupper, alt efter om det er spildevand, drikkevand eller renovation. Jeg ved at ud fra de 3000-5000 adresse skal jeg kun bruge ca. 300, der alle har den samme takstkode (lad os kalde den 1234).
I inddateringsformen ville det være godt hvis jeg f.eks. søgte efter ejendommen Østergade 2, at jeg kun fik vist de data jeg har på Østergade 2 med takstkode 1234, så jeg ikke selv skal vælge den rigtige.
| |
| Kommentar Fra : Rosco40 |
Dato : 16-08-07 20:25 |
|
Du skal altså bruge en god søgefunktion.
Den finder du her.
http://www.makeiteasy.dk/Home.asp
Downloads
den hedder DynamiskSøgefunktion.
Siden er godtnok nede for tiden. (opdatering tror jeg)
Du kan lægge din mailadr. i et privat indlæg, så skal jeg gerne sende dig eksemplet.
| |
| Kommentar Fra : Rosco40 |
Dato : 16-08-07 21:27 |
|
Du kan også gøre dette.
Lav 2 felter på din formular - Søgadresse og SøgTakstkode.
Lav en knap.
koden for denne knap.
Me.Filter = "Adresse = " & Me.Søgadresse & " AND Takstkode = " & Me.SøgTakstkode
Me.filteron = True
| |
| Kommentar Fra : meiland |
Dato : 20-08-07 10:11 |
|
Hej Rosco40 !
Tak for dine svar jeg har prøve det sidste, men får en fejl 3075, som er en syntaksfejl. Der mangler en operator i udtrykket "Forbrugsadresse = Østergade 1 and Takstkode=6550000"
Koden er her:
Private Sub Kommandoknap40_Click()
Me.Filter = "Forbrugsadresse = " & Me.SøgAdresse & " And Takstkode = " & Me.SøgTakstkode
Me.FilterOn = True
End Sub
| |
| Kommentar Fra : Rosco40 |
Dato : 20-08-07 10:23 |
|
Det var en kode jeg havde liggende.
Jeg har ikke prøvet selv endnu.
Kunne du evt sende en kopi af database, evt uden data.
Jeg lægger min mail i et privat indlæg.
| |
| Kommentar Fra : Rosco40 |
Dato : 20-08-07 11:23 |
|
Prøv lige denne.
Citat Private Sub bntSøg_Click()
With CodeContextObject
DoCmd.GoToControl "Postnummer"
DoCmd.FindRecord .[søgPostnummer], acEqual, False, acDown, False, , True
DoCmd.GoToControl "Kundenavn"
DoCmd.FindRecord .[SøgNavn], acEqual, False, acDown, False, , True
'DoCmd.GoToControl "[Søgpostnr]"
End With
Exit_bntSøg_Click:
Exit Sub
Err_bntSøg_Click:
MsgTekst = "Du skal skrive noget i søgefeltet."
OK = MsgBox(MsgTekst, , "Hvad søger du")
Me.søgPostnummer.SetFocus
Resume Exit_bntSøg_Click
End Sub |
| |
| Kommentar Fra : Rosco40 |
Dato : 20-08-07 11:30 |
|
Denne passer til dine feltnavne.
Huak at navngive knappen bntSøg.
[KODE]Private Sub bntSøg_Click()
With CodeContextObject
DoCmd.GoToControl "Forbrugsadresse"
DoCmd.FindRecord .[søgAdresse], acEqual, False, acDown, False, , True
DoCmd.GoToControl "Takstkode"
DoCmd.FindRecord .[SøgTakstkode], acEqual, False, acDown, False, , True
DoCmd.GoToControl "[Søgadresse]"
End With
Exit_bntSøg_Click:
Exit Sub
Err_bntSøg_Click:
MsgTekst = "Du skal skrive noget i søgefeltet."
OK = MsgBox(MsgTekst, , "Hvad søger du")
Me.søgadresse.SetFocus
Resume Exit_bntSøg_Click
End Sub[/CITAT]
| |
| Kommentar Fra : Rosco40 |
Dato : 20-08-07 11:33 |
|
Citat Private Sub bntSøg_Click()
With CodeContextObject
DoCmd.GoToControl "Forbrugsadresse"
DoCmd.FindRecord .[søgAdresse], acEqual, False, acDown, False, , True
DoCmd.GoToControl "Takstkode"
DoCmd.FindRecord .[SøgTakstkode], acEqual, False, acDown, False, , True
DoCmd.GoToControl "[SøgAdresse]"
End With
Exit_bntSøg_Click:
Exit Sub
Err_bntSøg_Click:
MsgTekst = "Du skal skrive noget i søgefeltet."
OK = MsgBox(MsgTekst, , "Hvad søger du")
Me.søgadresse.SetFocus
Resume Exit_bntSøg_Click
End Sub |
| |
| Kommentar Fra : Rosco40 |
Dato : 20-08-07 11:35 |
|
Jeg manglede linie 2
Citat Private Sub bntSøg_Click()
On Error GoTo Err_bntSøg_Click
With CodeContextObject
DoCmd.GoToControl "Forbrugsadresse"
DoCmd.FindRecord .[søgAdresse], acEqual, False, acDown, False, , True
DoCmd.GoToControl "Takstkode"
DoCmd.FindRecord .[SøgTakstkode], acEqual, False, acDown, False, , True
DoCmd.GoToControl "[SøgAdresse]"
End With
Exit_bntSøg_Click:
Exit Sub
Err_bntSøg_Click:
MsgTekst = "Du skal skrive noget i søgefeltet."
OK = MsgBox(MsgTekst, , "Hvad søger du")
Me.søgadresse.SetFocus
Resume Exit_bntSøg_Click
End Sub |
| |
| Kommentar Fra : Rosco40 |
Dato : 20-08-07 12:23 |
|
Den forrige kode virkede ikke helt korrekt.
Det gør denne.
Citat Private Sub bntSøg_Click()
Dim sFilter As String
sFilter = "1 "
If (IsNull(Me.SøgNavn)) = False Then
sFilter = sFilter & " AND KundeNavn LIKE '" & Me.SøgNavn & "'"
End If
If (IsNull(Me.søgPostnummer)) = False Then
sFilter = sFilter & " AND Postnummer = '" & Me.søgPostnummer & "'"
End If
Me.Filter = sFilter
If sFilter = "1 " Then 'No filter
Me.FilterOn = False
Else
Me.FilterOn = True
End If
If Me.RecordsetClone.RecordCount = 0 Then
MsgBox "Desværre er der ingen poster som passer til din søgning"
End If
End Sub |
| |
| Kommentar Fra : meiland |
Dato : 20-08-07 14:33 |
|
Hej Rosco40 !
Så lykkedes det . Det tog lidt tid, det jeg fik nogle fejl pga. manglende adresse, men det hjalp da jeg fjernede et overskydende S i forbrugsadressen
Det gav mig til gengæld et ekstra spørgsmål. Er det muligt at ændre søgadresse fra tekstbox til kombibox, så jeg får alle adresser med takstkode=6550000 listet op ??
Uanset om det kan lade sig gøre eller ej, er mit problem løst. (De 250 point er dine rosco40 uanset hvad) Har smidt 100 point ekstra i. For en løsning på sidste spørgsmål, vil jeg gerne give 130 point for.
| |
| Kommentar Fra : Rosco40 |
Dato : 20-08-07 16:39 |
|
Jeg takker for pointene.
Har du dine data i tabelform eller enkeltformular?
Hvis du vil filtrere på den måde skulle du kigge på det eksempel jeg sendte dig, det er beregnet til det.
| |
| Godkendelse af svar Fra : meiland |
Dato : 21-08-07 09:29 |
| | |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|