Heeft Ms-Access geen Dialoogvenster?

Status
Niet open voor verdere reacties.

BartSr

Gebruiker
Lid geworden
26 aug 2008
Berichten
240
Uit Excel ken ik het volgende commando:

Bestand = Application.GetOpenFilename("Bestanden MFD (*.mfd),*.mfd ")

Daarmee krijg je een dialoogvenster waarmee een bestand kan worden gezocht, waar je mee verder wilt (dus net zoals Word en Excel je een bestand laten opzoeken en kiezen).

Zoiets wil ik ook in Ms-Access, maar ik kan het nergens vinden. Ik heb gekeken in
Visual Basic, menubalk
keuze extra>verwijzingen,
maar daar vindt ik ook niets. Wie helpt mij?
 
Allereerst heb je een verwijzing nodig naar de onderstaande Libary:

"Microsoft Office X.0 Object Libary"

Vervolgens onderstaande code welke ik in mijn voorbeeld onder een knop heb geplaatst:

Code:
Private Sub btnDialoogVensterOpenen_Click()
    Dim dlgPicker As FileDialog
    Dim strFileName As String
    
    Set dlgPicker = Application.FileDialog([COLOR="red"]msoFileDialogFilePicker[/COLOR])
    
    With dlgPicker
        .Title = "Selecteer een foto." 'De titel voor het venster
        .InitialFileName = CurrentProject.Path 'Openen in de map waar de database staat
        .Filters.Add "Foto's", "*.gif; *.jpg; *.jpeg; *.png", 1 'Beperk de bestandstypes tot .jpg, en maak dat het eerste item in de lijst
        .Filters.Add "Alle bestanden", "*.*", 2 'Geef als 2e optie om alle bestande weer te geven
        .AllowMultiSelect = False 'Slechts één bestand kiezen toegestaan
        .InitialView = [COLOR="Red"]msoFileDialogViewPreview[/COLOR] 'Met optie om de afbeelding te zien
        
    If .Show = -1 Then 'Bepaal of gebruiker op OK-knop heeft geklikt.
       strFileName = .SelectedItems.Item(1) 'String wordt gevuld met geselecteerde bestand
    End If
    End With
End Sub

De rode tekst in de code is een optie die je uit een lijst kunt selecteren, tijdens het aanmaken van de code.

mvg
Charles
 

Bijlagen

Charles,
Om te beginnen: bedankt voor je snelle antwoord.

Helaas heeft mijn Access(Access2000 met Visual Basic 6) de library (Microsoft Office X.0 Object Libary) niet.
Is die ergens te vinden, tenminste als ie draait onder deze Ms-Access?

Ik heb wel Microsoft Activex Data Objects 2.1 library en Microsoft Access 9.0 Object library geactiveerd staan, maar ondanks dat werkt het niet.

Wat te doen?

Bart
 
Het voorbeeld heb ik weliswaar aangemaakt in Access 2003, maar met de bestandsindeling van Access 2000. Ik begrijp uit jou posting dat het voorbeeldbestand bij jou dus niet werkt of heb je dat nog niet geprobeerd?

mvg
Charles.
 
Klopt.
Als ik het form wil opstarten krijg ik een foutmelding in krom Nederlands: Een door de gebruiker gedefinieerd gegevenstype is niet gedefinieerd

Dat gebeurt in
Private Sub btnDialoogVensterOpenen_Click()
Dim dlgPicker As FileDialog

, waarbij het dus FileDialog betreft.
Schakel ik die regel uit (rem), en compileer, dan gaat het fout in
Set dlgPicker = Application.FileDialog(msoFileDialogFilePicker) Met de melding Een variabele is niet gedefinieerd.

Bart
 
Kijk eens of je bij jou de libary "Common Dialog Control" kunt vinden.

Ik heb even gegoogled op "msoFileDialogFilePicker Access 2000" met onderstaande link als resultaat:

http://www.google.nl/search?hl=nl&lr=&as_qdr=all&q=msoFileDialogFilePicker+Access+2000&sa=X&oi=revisions_inline&ct=unquoted-query-link

Kijk ook even naar deze links:

Let bij deze link op de post van Dirk Goldar
http://www.pcreview.co.uk/forums/thread-1092056.php

http://www.pcreview.co.uk/forums/thread-2233708.php

Hoop dat je wat kunt vinden wat je kunt gebruiken.

mvg
Charles
 
Charles,

Bedankt!. Ik vond hier


een voorbeeld dat goed werkt.

Weliswaar heb ik vijftien jaar ervaring als freelance Ms-Accesser bij onder andere grote banken, maar ik ben er sinds 1998 uit. Toen was ik 61 en vond het welletjes. Nu ben ik 70 en omdat muziek mijn hobby is, kocht ik een keyboard. Nu heb ik in Ms-Access een programma gemaakt om styles voor het keyboard te onderhouden, maar als je er bijna tien jaar uit bent, gaat dat moeilijk. De beroepskennis zakt weg, maar de beroepsdeformatie, i.c. het ontwikkelen van toepassingen, blijft....:evil:

Nogmaals; bedanky voor je goede en snelle hulp.

Bart
 
Geen dank, graag gedaan.

Deze topic kan je dus op afgehandeld zetten.

gr
Charles
 
Zou iemand me kunnen helpen met een probleem van Acces. Ik heb nu die Visual Basic code in acces staan en als ik de tabellen nu wil maken krijg ik een error:

Compileerfout: Een door de gebruiker gedifineerd gegevenstype is niet gedifineerd.

Option Compare Database

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Microsoft Access 7.0 Visual Basic code generated by FCO-IM Casetool v4.1
'
' Date : 5-1-2010
' Time : 14:44:03
'
''''

' Routine to create database.
Public Sub FCO_CreateDatabase()

' Routines to create the tables.
FCO_CreateTable1

End Sub

' ------------------------------------------------------------
' Create table "artikel"
' ------------------------------------------------------------

Private Sub FCO_CreateTable1()

'Local variables
Dim db As DataBase
Dim tbl As TableDef
Dim fld As Field
Dim idx As Index
Dim rel As Relation

Set db = CurrentDb()
Set tbl = db.CreateTableDef("artikel")

' Adding fields

Set fld = tbl.CreateField("artikelnummer", dbLong, 0)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("opslag", dbText, 7)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("titel", dbText, 22)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("genre", dbText, 5)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("naam regisseur", dbText, 17)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("naam productiemaatschappij", dbText, 16)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("releasedatum", dbText, 16)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("aantal", dbText, 8)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("prijs", dbText, 5)
fld.Required = True
tbl.Fields.Append fld

Set fld = tbl.CreateField("totale prijs", dbText, 5)
fld.Required = True
tbl.Fields.Append fld

' Adding keys

Set idx = tbl.CreateIndex("Key1")
idx.Primary = True
idx.Unique = True
Set fld = idx.CreateField("artikelnummer")
idx.Fields.Append fld
tbl.Indexes.Append idx

' Add Table to the database
db.TableDefs.Append tbl

End Sub
 
Als eerste begrijp ik niet waarom je je vraag in deze oude topic plaatst.

Als je de code in een module hebt gezet, maak er dan een Public sub van i.p.v. een Private sub.

Is de situatie anders, geef dan eerst wat meer informatie en maak dan meteen een nieuwe topic aan.
 
Laatst bewerkt:
Charles,

In een eerdere reactie zei je
Deze topic kan je dus op afgehandeld zetten.

Dat heb ik dus niet gedaan, simpelweg omdat ik in dit forum nergens kan vinden hoe dit te doen. Met als gevolg dat 19Gamer92 NL er nu een verwante probleemstelling aan toe voegt (waar ik 'm overigens niet mee kan helpen). Kun jij me vertellen hoe ik dit topic sluit?

Bart
 
Dat doe je rechtsonderaan bij status van de aanvraag, maar dat heb je al gedaan. Dat kun je zien in het overzicht van de topics. Er staat dan een groen vinkje i.p.v. een rood vraagteken. Dat is het vervelende voor een vraagsteller die zijn vraag in zo'n afgesloten topic stelt. Een heleboel mensen kijken niet meer in een topic waar een groen vraagteken staat. Deze is immers opgelost.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan