Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


On Error Goto.....

Postades av 2009-06-27 21:54:08 - Niklas Rosenberg, i forum visual basic - allmänt, Tråden har 31 Kommentarer och lästs av 1468 personer

Försöker enligt koden nedanför att ansluta till en Accessdatabas...
Att jag har 2 sökvägar beror på att jag kör programmet över nätverk och då hamnas mdb filen på servern...
Men det är inte huvudfrågan...
Min fråga är.. VARFÖ fungerar inte On Error GoTo delen??
När jag kör på den ena datorn så fungerar det och på den andra inte...
Den det inte fungerar på får Runtimefel 3044 och det är på den första OpenDatabase raden...

Ideer??

Sub AnslutDatabasen()
On Error GoTo DatabaseErrHandeling

Filen = "Databas\DragTime.mdb"
Set db = OpenDatabase(Filen)
GoTo Klart

DatabaseErrHandeling:
Filen = "C:\Program\DragTime\Databas\DragTime.mdb"
Set db = OpenDatabase(Filen)
Klart:

End Sub


Svara

Sv: On Error Goto.....

Postades av 2009-06-28 08:33:39 - Sven Åke Persson

Ganska enkelt att förstå, Men hur att få det rätt. ?
3044 "Item isn´t a valid path.

Sökvägen för nätverkskörning är felaktig.


Svara

Sv: On Error Goto.....

Postades av 2009-06-28 12:41:25 - Stefan Brännström

Tycker det vore lite smartare att kolla om Access-filen finns innan du skickar argumentet till OpenDatabase()...


Svara

Sv: On Error Goto.....

Postades av 2009-06-28 17:29:06 - Johan Djupmarker

Eftersom du inte har angett hela sökvägen så gissar jag att programmet utgår från den aktuella path:en, vad det är beror på var du gjort tidigare i programmet, var programfilen är lagrad och vad programmets genväg har för egenskaper. Men som redan sagts så tycker jag att du ska ta reda på om filen existerar innan du försöker öppna den!

/Johan


Svara

Sv: On Error Goto.....

Postades av 2009-06-29 12:02:12 - Niklas Rosenberg

Jag tar det från början då...

Om jag sitter och programmerar och kör Run så kör den ju programmet ifrån typ 'C:\program\vb6\.....osv' och kör jag då första sökvägen då hittar den ju inte någon databasfil... Då kör den istället den andra sökvägen alltså 'C:\Program\DragTime\Databas\DragTime.mdb'......
Fint kanske en del tänker... kör alltid den...
Men problemet är att det färdiga programmet ligger i 'C:\Program\DragTime' och det funkar för mig att köra hela sökvägen men programmet skall köras av flera personer med samma databasfil och kör de den sista sökvägen så letar ju programmet efter databasfilen som ligger på deras hårddisk 'C:\Program\DragTime\Databas\DragTime.mdb' och den finns ju inte..
Det är enkelt att ändra länken MEN så J***A lätt att glömma det när man kompilerar....
Den första sökvägen måste köras för att kunna köra programmet från nätverket.... alltså '[ProgrametsPlats]\Databas\DragTime.mdb'...
Då har jag på detta sätt med On Error Goto löst det på min bärbara dator.. Men det fungerar inte på min vanliga dator...

Varför funkar inte On Error Goto?


Svara

Sv:On Error Goto.....

Postades av 2009-06-29 13:52:49 - Cecilia Wirén

Heter din program mapp 'Program' på din "vanliga dator"? Eller heter den tex 'Program Files'?


Svara

Sv: On Error Goto.....

Postades av 2009-06-29 15:19:44 - Niklas Rosenberg

Program... Problemet är ju att den inte kommer till 2 sökvägen överhuvud taget...
Hittar den inte sökväg 1 så skall den ju ta sökväg 2.... Men stannar vid 1an...


Svara

Sv:On Error Goto.....

Postades av 2009-06-29 17:08:59 - Henrik Malmberg

Gå på Brännströms förslag!

<code>if dir("sökväg till första filen") <> "" then
använd denna databasfil
else if dir("sökväg till andra alternativet") <> "" then
kör denna istället
else
filen står nog i kylskåpet
end if</code>


Svara

Sv: On Error Goto.....

Postades av 2009-06-30 07:23:45 - Niklas Rosenberg

Jo jag får la köra på det... Men det vore ändå trevligt att få reda på varför det inte funkar just här...
Finns det inställningar för On Error Goto??


Svara

Sv:On Error Goto.....

Postades av 2009-06-30 08:40:43 - Niklas Jansson

Eftersom du inte deklarerar något eller visar hur "OpenDatabase" ser ut är det förstås svårt att svara.

Hur som helst: On Error Goto fungerar - det är du som har gjort fel (att vb6 och tidigare sen har världens sämsta felhantering är ju en annan sak)


Svara

Sv: On Error Goto.....

Postades av 2009-06-30 11:45:19 - Niklas Rosenberg

Men som jag skrev lite längre upp... On Error Goto fungerar på min andra dator... Och på alla datorer som kört programmet från den datorns hårddisk...
Det är ju bara på min hemdator det inte fungerar....
Finns det någon inställning som kan varafel på min hemdator??


Svara

Sv:On Error Goto.....

Postades av 2009-06-30 13:46:51 - Niklas Jansson

Nej, det är det inte, om vi säger, med 90% sannolikhet. Förmodligen stänger du av den vid något tillfälle.


Svara

Sv: On Error Goto.....

Postades av 2009-07-01 04:12:04 - Sven Åke Persson

<b> Hatar olösta problem </b>

Djä... Niklas det är inget fel på Error hantering i VB.

De är du som inte förstår hur man tar itu med felen.

Tycker det är "snobberi" som har/vet något om felhantering.

Logik är svaret !


Svara

Sv:On Error Goto.....

Postades av 2009-07-01 07:33:44 - Niklas Rosenberg

Men om det då är logik vi har med att göra, varför funkar det då på min ena dator och på den andra fungerar det inte med samma projekt...
Sedan hur jag löser mitt problem är upp till mig men jag kommer nog köra med att kolla om filen finns..
Men jag vill fortfarande veta varför det inte går...
Så kom gärna med lite ideer vad jag kan titta på och idiotförklara inte bara hela tiden..
Jag kanske är nyfiken på varför och inte bara lära sig alla vägar runt alla grejer som inte fungerar som skall fungera....


Svara

Sv: On Error Goto.....

Postades av 2009-07-02 15:32:35 - Sven Åke Persson

Den grundläggande frågan är ju var ligger ?

DatabaseErrHandeling:

Den skall klart ligga i
Sub AnslutDatabasen()

Därifrån gör det ett Call till SubRutin som behandlar fel eller gör en MsgBox som beskriver felet.
Och avslutar med
On Error Goto 0

Så här bör det se ut i slutet på Sub AnslutDatabasen ex.
<code>
OkOpenDb:
Exit Sub
DatabaseErrHandeling:
MsgBox "Fel i vid AnslutDatabas"
'Eller mer proffsigt Call MinDbError(Err)
'där du behandlar alla typer av fel beronde på Err
Resume OkOpenDb
End Sub
</code>


Svara

Sv:On Error Goto.....

Postades av 2009-07-02 16:22:43 - Sven Åke Persson

Alltså så här bör det skrivas
<code>
Sub AnslutDatabasen()
On Error GoTo DatabaseErrHandeling

Filen = "Databas\DragTime.mdb"
Set db = OpenDatabase(Filen)
Klart:
Exit Sub
DatabaseErrHandeling:
'Det tokiga är om det blir fel här så är du inne i en ond cirkel.
Filen = "C:\Program\DragTime\Databas\DragTime.mdb"
Set db = OpenDatabase(Filen)
On Error GoTo 0 'nollställ felet
Resume Klart
End Sub
</code>


Svara

Sv: On Error Goto.....

Postades av 2009-07-06 11:24:50 - Sven Åke Persson

Ang problemt med On Error Goto så kom förslaget FileExists som en bättre lösning.
Håller med.
Den här rutinen har jag använt ett antal gånger och den fungerar Ok.
<code>
Private Sub FileExists(ByVal inPath As String)
Dim Fnum As Long
Fnum = FreeFile
On Error Resume Next
Open inPath For Input As #Fnum
Select Case Err
Case Is = 0
MsgBox "File Ok"
'do your stuff
Case Is = 53
MsgBox "File not found"
'do your stuff
Case Is = 55
MsgBox "File already open"
'do your stuff
End Select
Close #Fnum
End Sub
</code>


Svara

Sv:On Error Goto.....

Postades av 2009-07-06 16:26:24 - Ola Lindfeldt

Ännu bättre vore det med en FileIsWriteable() metod i början eftersom man måste har skrivrättigheter för att det ska funka ändå.. räcker ju inte att filen FINNS :) Det kan ju faktiskt vara det som är fel från början(??). T.ex i Vista har ju en vanlig User inte rätt att skriva i %programfiles%-mappen.
BTW. Datafiler bör man lägga nånstans under %appdata% nu för tiden.


Svara

Sv: On Error Goto.....

Postades av 2009-07-06 17:10:10 - Sven Åke Persson

Ja det är rätt, finns många vinklar på en plog.

Jag löser det med en ,i min kod ovan
<code>
Case Is= 70
MsgBox "Permission denied"
' gör något
'..........
</code>


Svara

Sv:On Error Goto.....

Postades av 2009-07-06 17:39:24 - Sven Åke Persson

<b>Datafiler bör man lägga nånstans under %appdata% nu för tiden. </b>

Det är MS/Vista "bullshit" . Det köper inte Jag/Vi

Om Vi gör en applikation som innehåller DataBas :er så lägger Vi dessa i samma mapp som .exe

Möjligtvis kan jag sträcka mig till att ha en undermapp "AppData" där dom får ligga.

Man skall alltid kunna nå dom med App.Path i första steg.

Vi lägger alltid tillhörande egna .DLL .er och .ini filer i samma mapp som .exe

Sven som skiter blankt i MS "styr och ställ" fasoner.

Vi accepterar att dll:er mfl. skall ligga i Sytstem32 och .sys skall ligga i Drivers men! sen är det NOCK !


Svara

Sv: On Error Goto.....

Postades av 2009-07-06 20:03:42 - André Claesson

Det är inte en Microsoft/Vista-grej. De är snarare väldigt sena med detta.
Många plattformar tillåter inte att användaren har skrivrättighet till program-mappen. Det är ett väldigt effektivt sätt att förhindra virus, eftersom det är .exe-filer som ofta blir angripna.


Svara

Sv:On Error Goto.....

Postades av 2009-07-07 02:01:00 - Sven Åke Persson

<b>förhindra virus, eftersom det är .exe-filer som ofta blir angripna.</b>

mmmm.... gulle gulle har mamma berättat det för dig.

Phuuuuuuuuuuuu vilket bullshit man får läsa.


Svara

Sv: On Error Goto.....

Postades av 2009-07-07 02:52:10 - André Claesson

Ville mest förklara för dig på ett sätt som du förstår, för det verkar som du tror Microsoft blockerar åtkomst till filer mest för att det är kul och för att jävlas.


Svara

Sv: On Error Goto.....

Postades av 2009-07-07 10:45:07 - Oskar Johansson

Sven: Det är bra att det blir lite ordning på vem som får skriva var, ur bland annat säkerhetssynpunkt, men även av andra anledningar. T.ex. att man köra ett program på ett företagsnätverk och man vill att programmens information inte ska vara låst till en dator utan till en viss användare (oberoende av dator.) Eller att man kanske inte vill att någon annan användare av datorn ska kunna läsa mina filer. Eller att man enkelt vill kunna göra backup av allting viktigt utan att behöva handplocka några datafiler, eller kopiera alla installerade program.


Svara

Sv:On Error Goto.....

Postades av 2009-07-09 00:58:36 - Sven Åke Persson

<b>för det verkar som du tror Microsoft blockerar åtkomst till filer
mest för att det är kul och för att jävlas.</b>

Näääääääääääääääää tror jag inte. Men dom tror att Vi användare är indoiter :-)

"Hasse Alfredsson"


Svara

Sv: On Error Goto.....

Postades av 2009-07-09 01:21:20 - Sven Åke Persson

Förstår att man måste ha säkerhet i stora nätverk.

Men ! Tänk enkelt. Läser så mycket "bull" så jag garvar läppen sned.


Svara

Sv:On Error Goto.....

Postades av 2009-07-09 02:52:48 - André Claesson

De som inte är idioter, kan enkelt stänga av denna säkerhet i Vista (UAC) och på så sätt ha skrivrättigheter till alla filer :-)


Svara

Sv:On Error Goto.....

Postades av 2009-07-09 12:57:07 - Oskar Johansson

Sven: Det är enkelt: Program på ett ställe, information på ett annat. Varför blanda?


Svara

Sv: On Error Goto.....

Postades av 2009-07-09 13:13:16 - Niklas Jansson

<b>>Program på ett ställe, information på ett annat. Varför blanda?</b>
Säg det till lisp.

;-)


Svara

Sv:On Error Goto.....

Postades av 2009-07-09 18:06:48 - Oskar Johansson

Haha, lol, jao, lisp ja.. :)


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
330
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies