20. august 2007 - 14:57Der er
13 kommentarer og 1 løsning
Parameterværdi
Hejsa
Har lavet en lagerbase til dækregistrering. Databasen har kørt uden problemer i næsten et år. Det første år vi kørte med databasen, var der koblet to computere på den. Den ene via fjernskrivebord, og den anden via et lokalt netværk. Herefter lavede vi så en ændring. Den computer der før havde kørt via et lokalt netværk, kom istedet til at køre via fjernskrivebord, og det sted, der før havde haft en pc kørene via fjernskrivebord, fik istedet koblet fire pc'er til via lokalt netværk.
Herefter gik der kuk i en af formularne. Problemet opstår, når der skal tilføjet nye dæk til databasen. Det sker via følgende forløb: Registreringsnumrene skrives i en tekstboks, og tilføjes herefter til en liste. Herefter bliver dækkene tilføjet til databasen via vb-kode ved nogle opdaterings- og tilføjelseskald. Så lukkes formularen ned, og det er her problemet opstår. Når formularen lukkes ned/er blevet lukket ned, kommer en boks frem hvor der står:
I denne boks kan man skrive hvad man vil, man kan trykke OK eller Annuller, uden der gør nogen synlig forskel. Når man så har fjernet boksen, opdateres en anden liste på en anden formular.
Det mærkelige er, at den ikke laver fejlen på den computer der kører fjernskrivebord, men hvis jeg kopierer den database der virker, over på en af de computere, hvor databasen ikke virker, laver den stadig den samme fejl.
Jeg har søgt hele mit projekt igennem, og kan ikke umiddelbart finde nogle referencer til "Forms!frmOrdre_2_BestillingslisteIndOpret!TilknyttetOrdrenummer". Jeg har også prøvet at ligge en knap på formularen, der ikke gør andet end at lukke denne ned. Her opstår der ingen fejl.
Det lyder som du har en forespørgsel, hvori du bruger ovenstående som et kriterie. Men hvorfor du får fejlen, ved jeg ikke, den er måske ikke færdig med at opdatere, inden formen "frmOrdre_2_BestillingslisteIndOpret", lukkes. ??
Det med forespørgslen var også min første tanke, men kan simpelthen ikke finde nogle steder, hvor jeg skulle have brugt det udtryk.
Men efter at have siddet og leget lidt mere med det, er jeg kommet frem til følgende:
Det sker kun på de maskiner der kører Access 2002. Dem der kører Access 2003 er der ingen problemer med.
Fejlen sker så snart formularen skal lukkes. Hvis jeg ikke lukker formularen efter jeg har tilføjet dækkene, sker fejlen ikke. Vælger jeg herefter at lukke formularen via krydset i hjørnet, eller via værktøjslinien/menuen, sker der stadig ikke nogle fejl. Vælger jeg derimod at lukke formularen via en knap(docmd.close), kommer fejlen frem, men kun hvis jeg i forvejen har tilføjet dækkene.
Er det ikke noget med, at man kan kalde de forskellige funktioner i menu- og værktøjslinierne (har prøvet docmd.runcommand)?
Synes godt om
Slettet bruger
21. august 2007 - 20:43#3
Først skal du prøve at køre en debug... I VB editoren vælger du Debug/compile!~)
Så dukker fejlen forhåbentlig frem...
Hvis den ikke gør det, så ligger fejlen sikkert i den kode, som opdaterer listen m.m. Du kan sikkert rette med at skrive On Error Resume Next i starten af koden eller bruge Err.Number til specifikt at køre forbi fejlen!~)
Synes godt om
Slettet bruger
21. august 2007 - 20:47#4
Jeg kommer i tanke om, at jeg faktisk selv er stødt på fejlen et eller andet sted i en af mine egne db'er. Men hvor og hvad gjorde, fik jeg det overhovedet løst?~(
Problemet er, at det ikke som sådan, ikke er en egentlig fejl i koden, men den boks der kommer frem, er den hvor der står "Indtast parameterværdi", som man eks. kender fra en forespørgsel, hvor man i kriterie skriver noget omklamret af firkantede paranteser.
Indtil videre har jeg fået fjernet fejlen, ved at fjerne alle advarsler før jeg lukker formularen, og sætte dem til igen bagefter. Men lader lige spørgsmålet stå åbent lidt endnu, hvis der nu skulle være en der kunne komme med en bedre løsning
Dette er et banalt svar, men du skal opgradere de andre maskiner til Access2003. Svaret er dog velbegrundet.
Jeg har arbejdet i Access2002 med at udvikle en rimeligt avanceret fakturerings database. Jeg brugte en del tid på at udvikle lige netop opdateringsforespørgslerne. Og efter at have forstået hvorledes man udvikler og bruger dem, havde jeg store problemer med at få dem til at fungere.
Nogen gange brugte jeg tid på at udvikle dem derhjemme for bedre at forstå fejlene. Her brugte jeg Access2000. Her havde jeg ingen problemer!! Når jeg så ud fra min logbog skulle oprette dem fra bunden i Access2002 fik jeg igen problemer, som jeg ikke fik i Access2000.
Resultatet blev at jeg fik opgraderet Access2002 til Access2003. Herefter har jeg ikke fået disse mærkelige skæve fejl der ikke kan forklares med udviklerens manglende evner!!
Jeg kan ikke huske hvilke fejl jeg fik, men husker svagt at det især var referancerne som skal huskes af selve databaseprogrammet der kunne kikse. Altså tror jeg på at du på et tidspunkt har arbejdet med en parameterværdi blot som test, og har slettet den igen. Har måske ind imellem kopieret formen over i en anden eller omdøbt formen. Disse ting har Access2002 ikke altid styr på. Men det virker i Access2003.
Og så er der jo endelig "Funktioner;Databasefunktioner;Komprimer og reparer database". Det hjælper dog mig bekendt ikke på en tabt reference.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.