Acces 2007 vraagje

Status
Niet open voor verdere reacties.

septie42

Gebruiker
Lid geworden
7 nov 2015
Berichten
25
Ik ben nieuw hier en probeer mijn weg te vinden, als dit bericht verkeerd staat Sorry daar voor.

Ik ben ook nog van de pre pc generatie en heb in mijn opleidingen geen 5 minuten computer of programmeren gezien, wat ik kan en ken is er gekomen door zelf studie en veel vallen en opstaan.Want wat is de beste leerschool zelf doen.

Maar nu kom ik er niet uit, hoe ik het zou moeten doen.

Is het mogelijk om uit een lijst van bv 10 straatnamen er één te hebben die u een verwittiging(MsgBox ) geeft dat er op een andere manier moet gehandeld worden, dan in de negen andere gevallen.

Ik werk met acces 2007

Dank voor eventuele reactie's
 
Hoi,
Welkom op Helpmij :)
Verplaatst van Win 7 naar deze sectie.
Succes verder op ons forum en met je vraag. :thumb:
 
Ik sluit mij natuurlijk aan bij de vorige spreker :). Maar uw vraag snap ik eerlijk gezegd niet. Want u geeft niet aan hoe die straatnaam er uit geplukt moet worden. Is dat op basis van een bepaalde waarde (bevat bijvoorbeeld bepaalde letters), of ontbreekt er een waarde (postcode)? Of wijst u de straatnaam zelf aan?
 
Hallo, en bedankt voor de reactie.

Ik heb een blad met enkele velden voor een opvolg opdracht, dus Id, Straat , huisnummer, letter en maand, daar onder nog enkele selectie vakken.
Nu in bepaalde straten moet de opvolging op een ander tijdstip gebeuren . Wat ik graag zou bekomen is dat er een bericht verschijnt bv, opgelet ander voorwaarden, als die bepaalde straatnamen worden ingetikt.
Hopelijk schept deze uitleg wat duidelijkheid.
 
Nog niet helemaal; u geeft wel aan wát er moet gebeuren, maar niet op basis waarvan dat kan worden afgehandeld. E.e.a. zal op een formulier wel kunnen, maar ergens moet dus ook een tijd zijn terug te vinden op basis waarvan de straat kan worden gemarkeerd. Ik zou dat overigens niet doen met een Msgbox, want daar drijf je iedere gebruiker horendol mee, want je wordt dan continue met een msgbox om de oren geslagen als je naar zo'n straat gaat. Mij lijkt een kleur of een waarschuwing in een tekstvak meer dan voldoende. Maar snappen doe ik het dus nog steeds niet helemaal. Eigenlijk is een voorbeeld bestandje de beste hulp om snel het probleem te doorgronden.
 
terug wat tijd gevonden, en wat gevonden ook

:)

al weer een tijdje geleden dat ik mijn vraag hier plaatste, en jammer genoeg gebrek aan tijd om verder te doen .
tot het voorbije weekend, met de hulp van de weergoden.

ik heb het volgende gevonden:

Code:
If ([Straat]=" Straatnaam"]) Then
DoCmd.OpenForm"Formuliernaam"
End If

En dat geeft mij een pop-up , die verwittig dat er een ander regime is in die straat.

Nu heb iets dat ik niet begrijp, als ik een rapport wil opslaan als PDF, in een voorbestemde map, gebeurt dat ook maar dan in de voorlaatste map.Ik gebruik deze code, die trouwen hier heb gevonden, door veel draadjes te lezen.
De pdf word in documents gezet, maar niet de onder liggende map bv pdfbestanden. Doe ik iets verkeerd of kan het gewoon niet.

With DoCmd
.OutputTo acOutputReport, "Deelnemers", acFormatPDF, "E:\Documents\ pdfbestanden" & stDocName & ".pdf"
.OpenReport "Deelnemers", acViewPreview
End With

Met vriendelijk groet septie
 
Code:
If ([Straat]= & "Straatnaam") Then
     DoCmd.OpenForm"Formuliernaam"
End IfVolgens mij zit er een foutje in de code:
of:
Code:
If ([Straat]= & Me.Straatnaam) Then
     DoCmd.OpenForm"Formuliernaam"
End IfVolgens mij zit er een foutje in de code:
Als Straatnaam de keuzelijst met invoervak is, zou ik 'm cboStraatnaam noemen; het is altijd een goed idee om het objectsoort van een object in de naam op te nemen zodat je altijd weer wat voor soort object je aanroept.

Wat betreft de eigenlijke vraag:
Code:
With DoCmd
     .OutputTo acOutputReport, "Deelnemers", acFormatPDF, "E:\Documents\ pdfbestanden" & stDocName & ".pdf"
     .OpenReport "Deelnemers", acViewPreview
End With
werkt alleen als er een waarde in stDocName zit. Dat deel van de code zit er nu niet bij, dus daar kunnen we niks over zeggen verder. En de map moet natuurlijk wel bestaan; is dat niet zo dan moet hij eerst worden aangemaakt.
 
Laatst bewerkt:
Hartelijk dank voor uw antwoord, OctaFish.



De map was aangemaakt, maar het lukte niet, uw antwoord maak veel duidelijk.

mvg septie
 
ik doe dus iets verkeerd...............

OctaFish,ik gebruik de volgende code:

Code:
With DoCmd
     .OutputTo acOutputReport, "blad1_Query1", acFormatPDF, "C:\Documents en settings\ hier staan twee namen\Mijn documenten\PDF" & blad1_Query1 & ".pdf"

En de pdf word aangemaakt , in de map Mijn documenten en niet in de map PDF. Wat doe ik verkeerd?

Mvg septie
 
Meestal zal de map 'Mijn documenten' niet zo heten, maar eerder 'Documents'. Net zo voor 'Documents en settings'. Die bestaat sowieso niet, omdat jouw voorbeeld een combinatie van Engels en Nederlands is. Verder ontbreekt er een backslash achter de map PDF, waardoor PDF in de naam komt te zitten, en niet het bestand in de map PDF.

De map <Mijn Documenten> kun je heel simpel opvragen in een variabele:
Code:
Dim WshShell As Object
Dim MyDocs As String
    Set WshShell = CreateObject("WScript.Shell")
    MyDocs = WshShell.SpecialFolders("MyDocuments")
    MsgBox MyDocs

Dat gecombineerd met de juiste output, ziet er dan zo uit:
Code:
Dim WshShell As Object
Dim MyDocs As String

    Set WshShell = CreateObject("WScript.Shell")
    MyDocs = WshShell.SpecialFolders("MyDocuments")
    With DoCmd
         .OutputTo acOutputReport, "blad1_Query1", acFormatPDF, MyDocs & "\PDF\" & blad1_Query1 & ".pdf"
    End With

Waarbij ik niet snap waar dit (blad1_Query1) komt; je behandelt hem als een variabele, maar het is ook de naam van je query. En als je die als naam van je document wilt, kan het korter:
Code:
         .OutputTo acOutputReport, "blad1_Query1", acFormatPDF, MyDocs & "\PDF\blad1_Query1.pdf"
 
Tja, van waar komt dat......

zoals eerder gemeld met de eerste vraag, ik ben van de generatie die geen bit opleiding geeft genoten in school wat computers betreft toch, rekenen gebeurde nog met het hoofd, want een rekenmachine mochten we niet gebruiken en was nogal onhandig( te groot) en men was dan nog van het gedacht dat moest beschikken over een hoop parate kennis. Nu is er gelukkig meer een tendens van zoek het op, de oplossing is te vinden in boeken en op het internet.

De rest is geschiedenis, trouwen , kinderen krijgen, die gebruikten pc op school, nieuwsgierig en leergierig zijn, en zo beetje bij beetje het mezelf aangeleerd.

Waarom (blad1_Query1) behandelen als variabele,en ook de naam van mijn query. Onwetendheid en niet teveel willen veranderen om de weg niet kwijt te zijn, in wat is wat.


Met vriendelijk groet septie
 
Je hoeft je niet te verontschuldigen hoor :). Oplossingen zoeken en (kunnen) toepassen op de eigen situatie is gelukkig een stuk makkelijker nu. Wat daar m.i. een onmisbaar onderdeel van is, is het begrijpen van de gevonden oplossingen. Dus het waarom iets op een bepaalde manier wordt gebruikt. Wat dat betreft is computeren wel een fijn project, omdat de logica van de ijzeren variant is :D.
 
Oef met veel geduld .................

hallo OctaFish,

met veel geduld en veel lezen en uw gericht aanwijzing, ben ik er uit gekomen.

Code:
Private Sub Knop2_Click()
DoCmd.OpenQuery "Blad1 Query1", acViewNormal
DoCmd.Close acQuery, "Blad1 Query1"
DoCmd.OpenForm "FormBlad1", acNormal
With DoCmd
        .OutputTo acOutputReport, "Blad1_Query1", acFormatPDF, "C:\Documents and Settings\Gino Kathleen\Mijn documenten\PDF\" & Format(Date, "ddmmyyyy") & "Meldpunt 0 " & ".pdf"
        .OpenReport "Blad1_Query1", acViewPreview
    End With
    DoCmd.Close
DoCmd.Close acForm, "Opzoeken meldpunt 0"
End Sub

Maakt een Query, geeft me een duidelijk gegevensblad, slaat een rapport op als pdf in de gewenste map als back-up, sluit het opzoek formulier en de query.
En door toevoeging van datum bij pdf, worden ze gemakkelijk uit elkaar gehouden.

mvg septie42
 
Ik snap deze constructie niet:
Code:
DoCmd.OpenQuery "Blad1 Query1", acViewNormal
DoCmd.Close acQuery, "Blad1 Query1"
Je opent een query, en sluit 'm gelijk weer. Dat lijkt mij een nutteloze handeling. Volgens mij doe je verderop met het openen van het rapport "Blad11_Query" (wat overigens een slechte naam is voor een rapport. Geef queries de naam qryNaam1, qryNaam2 etc en rapporten de naam rptNaam1, rptNaam2 etc) hetzelfde.
 
das de volgende

das de volgende stap, en moet er nog veel maken(stappen).

Maar uit uw reactie leer ik nu, dat dit een nodeloze stap is, waar ik er van overtuigt was, eerst query maken , want anders heb je niets.:)

En inderdaad, mijn benamingen trekken er niet op:o, dat had ik al gezien , bij het rondneuzen op dat forum.

Ben al blij met wat ik nu bereikt heb. Nu beetje verder kijken.

Mvg Septie
 
Queries maak je als je ze nodig hebt, anders doen ze niet zo veel. Omdat ik je db niet ken, weet ik niet of [Blad1 Query1] een Toevoeg of Bijwerkquery is, in het welk geval ze natuurlijk wel een functie hebben. Overigens kun je die ook makkelijker uitvoeren, maar daar gaat het nu dus niet om. Als ik je code zo bekijk, dan zou ik het dus zo doen:

Code:
Private Sub Knop2_Click()
Dim WshShell As Object
Dim MyDocs As String

    Set WshShell = CreateObject("WScript.Shell")
    MyDocs = WshShell.SpecialFolders("MyDocuments")
    With DoCmd
         .OutputTo acOutputReport, "blad1_Query1", acFormatPDF, MyDocs & "\PDF\" & Format(Date, "ddmmyyyy") & "Meldpunt 0 " & ".pdf"
    End With
    DoCmd.Close acForm, Me.Form.Name
End Sub

Dan ga ik er wel van uit dat Knop2 op het formulier "Opzoeken meldpunt 0" .staat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan