Du viser ikke hvilke funktioner de ligger - er du sikker på at du har lavet det i vba så der er tilgang til de objekter der har variable dba og rs - at du skiver:
dim ..... om noget der er tildelt værdi (når det skal lukkes ) får mig til at betvivle det.
Nuvel - prøv at anbrige et stop (vba statement stop) før rs.close og - når der skiftes til vba editoren når formen lukkes - træk så 'rs' til watch vindue (det hedder nok noget andet på dansk) - her kan du se at den har noget i sig - i modsat fald står der at den ikke har nogen værdi.
variable i function og sub mm. er lokale varaible der deklareres med DIM - variable der deles mellem functions og/eller subs skal deklares i toppen af modulet med public eller private
Hvad gør jeg så ? Kan de se om jeg har evt fejl i mine koder for DB åbne og lukke? Eller kan de laves bedre?
Det er som om: rs.Close Dba.Close Set rs = Nothing Set Dba = Nothing
Ikke virker ordenligt. Jeg har googlet mig til Access til styring har nogle tælleværker hvor max måske er overskredet. Kan det tænkes, og i så fald hvordan kan jeg så få dem nulstillet?????? Nb Appen er enorm stor ca 150 forme og ca 60 tabeller der fylder 220MB
Det jeg kender til er at en forms datakilde sørger for at tildele klassevariablen recordset værdi - og den bruges af controlelementerne Når formen så lukkes antager jeg at der sker recordset.close
Hvorfor tildeler du variable dba og rs når formen åbnes? - hvad bruges det til?
Hm..... Forstår ikke... De koder jeg indledningsvis har listet, er de rigtige eller kan de optimere. Finde der en kode der effektivt kan stoppe og nulstile databasen, hvorefter den så genstartes på ny
Der er mange forskellige konstellationer men jeg viser som eksempel en typisk nedenfor: Nb: Ofte har jeg koderne liggende i moduler kaldt fra Formene OpenRecordset_Sub og CloseRecordset_Sub er beskrevet i #1
Eksempel: En form med 2-3 sub forme med f.eks en Comboboxe i hændelsen: AfterUpdate:
Option Explicit Option Compare Database
Private Sub PO_AfterUpdate()
CurrentDb.Execute "INSERT INTO Firma_Produkter([Linie],.......... LinieId = DMax("LinieId", "Firma_Produkter")
SQL = "SELECT GruppeId From Gruppe_Struktur WHERE LinieId= " & NiveauOprId Call OpenRecordset_Sub(SQL, Dba, rs, 2) '1=Tabel, 2=SQL query,3=SQL Server If rs.RecordCount > 0 Then Do CurrentDb.Execute "INSERT INTO Gruppe_Struktur([LinieId],[GruppeId]) VALUES(" & LinieId & " ......... rs.MoveNext Loop Until rs.EOF End If Call CloseRecordset_Sub(Dba, rs) . . . SQL = "SELECT Produkt_Gruppe.GruppeId ........... Call OpenRecordset_Sub(SQL, Dba, rs2, 2) '1=Tabel, 2=SQL query,3=SQL Server
If rs2.RecordCount > 0 Then Do FrmPV.Form![Gruppe2].Value = Nz(rs2!GruppeId, 0) rs2.MoveNext Loop Until rs2.EOF End If Call CloseRecordset_Sub(Dba, rs2)
Eftersom du ikke har fået kompileringfejl antager jeg at du kaldt paramerne til de subs eller functions hvis indhold er vist i #1 noget andet end dem du i koden anvender.
'dim' anvendes til lokale variabler - ikke parametre
Princippet for overførsel
sub setvar(var) var="test" end dub
sub usevar() dim myVar call setvar(myVar) debug.print myVar end sub
Du skriver kan ikke kompilere: Nej eksemplet kan ikke men det er jo også kortet ned. Se alle mine ...... Det fulde kan kompileres og kører korrekt i mange varianter masser af steder i appen
Jeg har ingen kodefejl. Det er slet ikke det der er problemet. Hele Appen kører men måske strukturen af DB start og slut kan optimeres så jeg ikke får fejl 3014
Kan det ikke lade sig gøre må jeg konkludere Access ikke kan anvendes til store Applikationer. Nb Min App er på 200Mb koder inklusiv lidt data
Hackere har manipuleret med lækkede data fra Det Europæiske Lægemiddelagentur
Der er nye detaljer om de oplysninger, der blev stjålet i hacket af Det Europæiske Lægemiddelagentur. Udover at data er blevet lækket, er disse også blevet manipuleret for at undergrave tilliden.
Skatteforvaltningen har tegnet en tiårig kontrakt IBM om levering af det sidste it-system til i en omfattende systemudskiftning i toldsystemerne og som først forventes afsluttet i 2025. Se alle detaljerne her.
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
Sådan kan du arbejde effektivt uanset tid, sted og type af enhed
Hvad nu hvis dit arbejde, din information, dine processer og teknologien bag ved, var organiseret på en måde så det passede til din organisation – alt sammen guidet af en intelligent udgave af det digitale arbejdsrum? Det er visionen bag Atea og Citrix´s samarbejde med digital workspace – en smartere og mere effektiv måde at arbejde på.
I dette whitetpaper kan du derfor læse om, hvordan du kan skabe et mere effektivt og brugervenligt arbejdsrum uanset tid, sted og enhed. En løsning der på en gang er både enkel og som sætter brugeren i centrum.