Toon posts:

[vb]create dir

Pagina: 1
Acties:

Verwijderd

Topicstarter
een overzicht

Access 2000 + VB + Netwerk

Ik kan in visual basic een lokatie typen en vervolgens wordt deze op opgeslagen bijvoorbeeld:

C:\programma\ (staat er al standaard en kan niet worden verandert) (vanaf een laptop)

test1 (type je dan zelf)

cmdbutton = actie ->>>> C:\programma\test1 (wordt aangemaakt op de harddisk)

Maar als ik het programma start op een andere PC zet ik de standaard lokatie er zo

\\Laptop\Claptop\Programma


Maar op deze manier schrijft hij hem niet weg.

Waar zit mijn fout (ik zal er wel overheen kijken wat ik weet het niet meer :( )

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 09:50

mulder

ik spuug op het trottoir

Hoe kom je aan die C:\Programma\ ?

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Don Facundo schreef op 14 augustus 2002 @ 18:43:
Hoe kom je aan die C:\Programma\ ?
Oke, stukje code

code:
1
2
3
4
If txtLokatie = "C:\Programma" Then
        'txtLokatie = "C:\Programma\" & txtOpdrachtgeverAchternaam & "\" & txtProjectnaam & "\"

' Ik gebruik als submap "txtOpdrachtgeverAchternaam" en "txtProjectnaam"


en onder "textfield" zet ik standaard "C:\programma"
Er hoort nog meer code bij hoor.

Maar het werkt op de standaardlokatie van het programma. Maar kan niet vanaf een andere PC daarop schrijven. Heb wel alle rechten goedgezet

Het werkt nu niet via deze mannier:

\\Laptop\Claptop\Programma

dus waar gaat het fout is dan mijn vraag.....

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 09:50

mulder

ik spuug op het trottoir

Je zult je vraag\probleem wat duidelijker moeten stellen. Wat schrijft hij niet weg? Die txtLocatie? Naar de database? Of die directory? Wat werkt er niet, dat path invoeren of uitvoeren? Etc etc.

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Don Facundo schreef op 14 augustus 2002 @ 18:58:
Je zult je vraag\probleem wat duidelijker moeten stellen. Wat schrijft hij niet weg? Die txtLocatie? Naar de database? Of die directory? Wat werkt er niet, dat path invoeren of uitvoeren? Etc etc.
Oke daar gaan we dan,

Ik kies in mijngeval een "opdrachtgever" en maak een "projectnaam" aan:

Deze gegevens voeg ik automatisch toe aan een "textfield" (lokatie)
In dat textfield staat standaard:
c:\programma\"projectnaam"\"opdrachtgeverAchternaam"

Dit werkt allemaal PERFECT vanaf de laptop waar het programma staat. Maar nu wil ik het programma ook starten vanaf een andere PC

Vanaf de andere pc kan ik het programma starten en vult automatisch de lokatie in de textfield in

Maar ik moet wel de standaard lokatie aanpassen in "\\Laptop\Claptop\Programma"
anders maakt hij een directory op de PC waar je op dat moment mee bezig bent. En dat is niet de bedoeling alles moet op de laptop worden weggescheven

Maar \\Laptop\claptop\programma\"projectnaam"\"opdrachtgeverAchternaam"\
kan hij niet wegschrijven op de laptop.

De vraag is dus:

waarom werkt vanaf de laptop "c:\programma/"projectnaam"/"opdrachtgeverAchternaam" \
WEL

en vanaf een andere PC
\\Laptop\Claptop\Programma\"projectnaam"\"opdrachtgeverAchternaam"\
NIET???


duidelijker zo? het is wat lastig uit te leggen zeg maar....

Verwijderd

Topicstarter
Is mijn probleem zo duidelijk?
of weet niemand het antwoord hier op?

Verwijderd

1) wat is de foutmelding die je krijgt?
2) laat eens de code zien waarmee je dit doet
3) heb je wel voldoende rechten om zomaar de \\Laptop\claptop share aan te roepen?

Verwijderd

Topicstarter
Verwijderd schreef op 14 augustus 2002 @ 20:13:
1) wat is de foutmelding die je krijgt?
2) laat eens de code zien waarmee je dit doet
3) heb je wel voldoende rechten om zomaar de \\Laptop\claptop share aan te roepen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Public Function CreateDir(path As String) As Boolean
 
    Static start, pos As Integer
    Static directory As String
    Static result As Boolean
    result = True
    
    
    On Error GoTo errCreation
    
    
    If path = "" Then Err.Raise vbObjectError + 1
    
  
    If start = Empty Then
        start = 1
    Else
         start = pos + 1
    End If
                
   
    pos = InStr(start, path, Chr$(92))
        
    If (pos <> 0) Then
                directory = directory + Mid$(path, start, pos - start) + Chr$(92)
        If InStr(1, Mid$(path, start, pos - start), Chr$(58)) = 0 And Dir(directory, vbDirectory) = "" Then
           MkDir Mid$(directory, 1, Len(directory) - 1)
        End If
               result = CreateDir(path)
    ElseIf (pos = 0) Then
               directory = directory + Mid$(path, start, Len(path) - start + 1)
        MkDir Mid$(directory, 1, Len(directory))
        directory = ""
    End If
        
    CreateDir = result
    
Exit Function


errCreation:
    Err.Clear
    result = False
    CreateDir = result
        
End Function


code:
1
2
3
4
5
6
7
8
9
Private Sub txtOpdrachtgeverAchternaam_LostFocus()
'zorgt ervoor dat de lokatie wordt aangemaakt automatisch
If Not Trim(txtOpdrachtgeverAchternaam) = "" Then
     'If txtLokatie = "C:\programma\" Then
        'txtLokatie = "C:\programma\" & txtOpdrachtgeverAchternaam & "\" & txtProjectnaam & "\"
                
     End If
  End If
End Sub


dit gebruik ik nu op de vaste lokatie.
Maar hoe nu vanaf een andere PC op deze vaste lokatie schrijven

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Euh... txtOpdrachtgeverAchternaam.text en txtProjectnaam.text zou ik doen... is maar een IDtje...

B-tje basis trouwens ook...
Idd, niveau daaaalt.

[ Voor 0% gewijzigd door muba op 14-08-2002 20:44 . Reden: nja bed8 opeens dat dit nogal stomme topic is ]

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


Verwijderd

Maar hoe nu vanaf een andere PC op deze vaste lokatie schrijven
Door een drive te mappen op de pc waarvandaan je wilt schrijven, dus die \\laptop\CLaptop share mappen naar bv Z:

Je wilt anders naar een UNC schrijven, en dat kan niet via de VB interne commands. Gebruik dan OF Win32 functies die je shared, of zoals gezegd een drivemap.

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

MUBA schreef op 14 augustus 2002 @ 20:27:
Euh... txtOpdrachtgeverAchternaam.text en txtProjectnaam.text zou ik doen... is maar een IDtje...

B-tje basis trouwens ook...
Idd, niveau daaaalt.
Ten eerste hoef je dat niet te zeggen over het niveau: Deels incorrect wat je zegt. De text property is standaard, en dan is de .text niet nodig (al zou ik het idd wel aanraden)

Verwijderd

Kijk anders 'ns ff naar het FileSystemObject, weet 't zo uit m'n hoofd niet, maar kan volgens mij wel UNC's schrijven.

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Neej als je geen .text erachter zet, denkt vb dat het om het object gaat...

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


Verwijderd

MUBA: heb je ooit wel een regel VB geprogd?

VB denkt helemaal niet dat het om een object gaat, VB WEET dat het om een object gaat (en al een tijdje hoor...).
Het enige wat VB doet is het aanspreken van de default property van het object...

Omdat VB de default property moet opzoeken (is dus iets trager) en daarnaast de code op deze manier onoverzichtelijk wordt is het absoluut aan te raden om de property wel te specificeren.

Verwijderd

On topic:

kan je met het handje wel naar je \\Laptop\claptop ?

Ik zie ook geen code waar je hierheen gaat op het moment dat c:\programma niet bestaat?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub txtOpdrachtgeverAchternaam_LostFocus()
'zorgt ervoor dat de lokatie wordt aangemaakt automatisch
If Not Trim(txtOpdrachtgeverAchternaam) = "" Then
     If txtLokatie = "C:\programma\" Then
        txtLokatie = "C:\programma\" & _
                              txtOpdrachtgeverAchternaam & "\" & _
                              txtProjectnaam & "\"

     [b]else[/b] txtLokatie = "\\Laptop\Claptop\Programma\"& _
                       txtOpdrachtgeverAchternaam & "\" & _
                       txtProjectnaam & "\"
     End If
  End If
End Sub

..of iets wat er op lijkt (niet getest).

Test je share.
Probeer het via de verkenner.
Werkt dit? Dan gaan we verder kijken naar je code.

[ Voor 0% gewijzigd door Verwijderd op 15-08-2002 08:04 . Reden: Layout ging over zn nek. ]


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

Ik zat te denken he, is het geen optie om gewoon de share als netwerk-hardeschijf toe te voegen? Dan is het gewoon x:\directroyoplaptop, en dan heeft VB er zeker geen problemen mee ?

Verwijderd

Ja. Is ook het makkelijkst. Zie mijn code en prop daar een maak-drive-mapping bij.
Pagina: 1