PDA

Vollständige Version anzeigen : vba im accessformular browserfunktion von vb verwenden?


dmsman
28.06.2001, 14:09
Hallo Profis,
Kennt einer von euch eine Browserfunktion die ich in einem accessformular verwenden kann?komplett mit dropdownmenü ...
hintergrund ist der ich will in meiner verzeichnisstruktur nach dokumenten suchen wie beim normalen explorer auch !
danke

A.S.
28.06.2001, 16:02
Hi,

wohl doch eher eine Frage für's Acc-Forum ;)

Benötigst Du nur die Datei-Öffnen-Dialoge?

Dafür gibt's entsprechende API-Funktionen und gestern Früh habe ich einen entsprechenden Link auf ein kostenloses AddIn für diese Funktionen ins Acc-Forum gestellt.

Ich wüßte aber keine Quelle für eine Explorer-AddIn.

Gruß

Arno

Günther Kramer
28.06.2001, 16:35
Hallo dmsman,

schau mal zu www.fullaccess.de (http://www.fullaccess.de) - dort haben die mal etwas im Bereich "kostenlose Software" gehabt.

dmsman
29.06.2001, 08:32
Hallo ArnoSimon,
kannst du mir den Link für die API-Funktion geben ich finde ihn nämlich nicht mehr im access forum ! danke

A.S.
29.06.2001, 08:43
Hallo DMSMann,

unter http://www.fullaccess.de/software/software2.htm findest Du das von Günther erwähnte Tool. Meinen Beitrag von Gestern findest Du unter dem Betreff "Dateidialog (kostenlos)" über die Suche. Ansonsten sollte eine Suche nach den Begriffen "Datei" und "Dialog" mit der Option "Alle Begriffe finden" erfolgreich sein.


------------------
HTH

Arno

dmsman
29.06.2001, 10:23
Hallo Arno,
danke für den link ich hab mir den code jetzt angeschaut doch ich komm irgendwie nicht zurecht! mein formular: frmExplorer beinhaltet jetzt folgenden code:
Option Compare Database
Option Explicit

' Explorer Formular
'
' Autor: Martin Hoffmann
' Copyright 1997 TriniDat Software-Entwicklung GmbH
'

' TODO: linke Liste mit Daten füllen
'
' Mit der Prozedur "KnotenHinzufügen" können Sie beispielsweise Firmendaten aus der
' Tabelle "tblFirmen" in das TreeView-Steuerelement importieren:
'
' Private Sub Form_Load()
'
' KnotenHinzufügen Me.Name, LL, True, "tblFirmen", "Fir", "FirmaNr", "Firmenname", True
'
' End Sub
'
'
' Referenzen auf die Steuerelemente
Private LL As Control 'linke Liste
Private RL As Control 'rechte Liste
Private TS As Label 'Splitter
Private AG As Control 'Ansicht-Gruppe
Const MAGBREITE = 1524
Const MAGTGLBREITE = 381

' Konstanten für die Größe und Abstände der Steuerelemente. Diese Konstanten
' dürfen je nach Wunsch geändert werden.
'
Const MLLMINBREITE = 1700 'mindestbreite linkes Listenfeld
Const MLLINITBREITE = 2500 'Initialisierungsbreite linkes Listenfeld
Const MRLMINBREITE = 1670 'mindestbreite rechtes Listenfeld
Const MRLINITBREITE = 6000 'Initialisierungsbreite rechtes Listenfeld
Const MMINHÖHE = 200 'mindesthöhe Steuerelemente
Const MHÖHE = 4000 'Höhe der Steuerelemente
Const MTSBREITE = 125 'Breite SPlitter
Const MRANDL = 75 'linker Rand
Const MRANDO = 750 'oberer Rand
Const MRANDR = 50 'rechter Rand
Const MRANDU = 50 'unterer Rand

Private Sub Form_Load()

End Sub

Private Sub lstListeLinks_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Long, ByVal Y As Long)
Screen.MousePointer = 0
End Sub
Private Sub lstListeRechts_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Long, ByVal Y As Long)
Screen.MousePointer = 0
End Sub

Private Sub Detailbereich_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Screen.MousePointer = 0
End Sub

Private Sub Form_Open(Cancel As Integer)
On Error Resume Next

Set LL = Me!lstListeLinks
Set RL = Me!lstListeRechts
Set TS = Me!lblTrennstrich
Set AG = Me!ogrAnsicht

'Größe des Formulars einstellen
Me.InsideWidth = MLLINITBREITE + MTSBREITE + MRLINITBREITE + MRANDL + MRANDR
Me.InsideHeight = MRANDO + MRANDU + MHÖHE

'Größe und Lage der Steuerelemente einstellen
LL.Left = MRANDL
LL.Top = MRANDO
LL.Width = MLLINITBREITE
LL.Height = MHÖHE
Me!lblLinkeListe.Left = LL.Left - 10

TS.Left = LL.Left + LL.Width
TS.Top = MRANDO
TS.Width = MTSBREITE
TS.Height = MHÖHE

RL.Left = TS.Left + TS.Width
RL.Top = MRANDO
RL.Width = MRLINITBREITE
RL.Height = MHÖHE
Me!lblRechteListe.Left = RL.Left - 10
AnsichtenHöhe RL.Top - 630
AnsichtVerschieben (Me.InsideWidth - 4 * MAGTGLBREITE - MRANDR) '45

Me!lblLinkeListe.Top = RL.Top - 240
Me!lblRechteListe.Top = RL.Top - 240

End Sub

Sub AnsichtVerschieben(linkerRand As Long)
On Error Resume Next
Me!ogrAnsicht.Left = linkerRand
Me!tgl1.Left = linkerRand
Me!tgl2.Left = linkerRand + MAGTGLBREITE
Me!tgl3.Left = linkerRand + 2 * MAGTGLBREITE
Me!tgl4.Left = linkerRand + 3 * MAGTGLBREITE
Me!ogrAnsicht.Width = MAGBREITE
End Sub

Sub AnsichtenHöhe(obererRand As Long)
On Error Resume Next
Me!ogrAnsicht.Top = obererRand
Me!tgl1.Top = obererRand
Me!tgl2.Top = obererRand
Me!tgl3.Top = obererRand
Me!tgl4.Top = obererRand
Me!ogrAnsicht.Height = Me!tgl4.Height
End Sub

Private Sub Form_Resize()
On Error Resume Next
resziseControls
End Sub

Sub resziseControls()
On Error Resume Next

Dim höhe As Long
Dim Breite As Long
Dim posAG As Long

höhe = Me.InsideHeight - MRANDO - MRANDU
Breite = Me.InsideWidth - MRANDL - MRANDR - TS.Width - LL.Width
posAG = RL.Left + Breite - 4 * MAGTGLBREITE
If höhe > MMINHÖHE Then
LL.Height = höhe
RL.Height = höhe
TS.Height = höhe
End If
If Breite > MRLMINBREITE Then
RL.Width = Breite
AnsichtVerschieben posAG
End If

End Sub

Private Sub Form_Timer()
On Error Resume Next
Screen.MousePointer = 0
End Sub

Private Sub lblTrennstrich_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next

Dim MinTSLinks As Long
Dim MaxTSLinks As Long
Dim posTS As Long
Dim widthLL As Long
Dim posRL As Long
Dim widthRL As Long
Dim verschiebung As Long

verschiebung = X

Screen.MousePointer = 9
If Button = acLeftButton Then

MinTSLinks = MLLMINBREITE + MRANDL
MaxTSLinks = Me.InsideWidth - MRLMINBREITE - MRANDR
posTS = TS.Left + verschiebung

If posTS > MinTSLinks And posTS < MaxTSLinks Then

Me.Painting = False
widthLL = LL.Width + verschiebung
posRL = RL.Left + verschiebung
widthRL = RL.Width - verschiebung

RL.Width = widthRL
TS.Left = posTS
LL.Width = widthLL
RL.Left = posRL
Me!lblRechteListe.Left = posRL - 10

Me.Painting = True
Me.Repaint
End If
End If
fehler:

End Sub

Private Sub lblTrennstrich_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
resziseControls
End Sub


Private Sub ogrAnsicht_Click()
On Error Resume Next
RL.View = Me!ogrAnsicht
End Sub
-------------------------------------
ok und wie binde ich jetzt meine lokalen Verzeichnisse sowie die netzwerklaufwerke in die linke leiste ein damit ich mich durchklicken kann?
vielleicht kommst du ja drauf weil der code bezieht sich eher auf irgendwelche Firmendatenbankbeispiele !
wäre echt toll ich könnte das nämlich sehr gut für meine facharbeit "dokumentenmanagement" benötigen bitte :)

A.S.
29.06.2001, 11:13
Hallo Stefan,

stellst Du den Beitrag in das Access-Forum rüber? Danke.

Hallo DMSMann....

hast Du die Controls Deines Formulars entsprechend des Codings benannt, bzw. das Formular aus der TriniDat-Beispieldatenbank importiert, so das der Code auch funktionieren kann?

Jetzt mußt Du noch entsprechend das ListBox-Control mit einer RecordSource versehen, in welcher die Dateien in Deinen Verzeichnissen stehen (natürlich auch die Verzeichnisse selber müssen irgenwo hinterlegt sein).

Gruß

Arno