Sorry allesammen... jeg har lige været offline i nogle dage...( skrev jo det hasterde... :-) )
Det jeg vil er : Mine lev nr skal altid bestå af 6 cifre. Det er bare ikke altid tilfældet grundet formater. ( lad være med at fortælle mig at disse skal laves om for det bliver de ikke fra den kilde jeg får dem fra...)
EKs. lev nr = 000123. Når jeg får dette nummer fra min Mainframen er det number hvilket betyder jeg får det som 123. Nu vil jeg altså opdatere dette felt til at hedde 000123. Derfor siger jeg. :
find poster der består af 3 cifre dvs. "???". Dernæst skal den updatere disse poster til 000 + det aktuelle lev navn.
Jeg gider ikke lave dette via en query idet der er tale om flere varianter ??? eller ?? eller ? osv.
DoCmd.RunSQL ("UPDATE master SET master.[intern lev nr] = Format([intern lev nr],000000)")
som du kan se har jeg været nødsaget til at fjerne dine " " mellem 000000, for at få lov at eksekvere dette. Den opdater dog på baggrund af dette til en NULL værdi. Hvis ikke jeg fjernede " " mellem 000000 vill VBA slet ikke køre dette grundet en copile error. Den siger den mangler en list seperator eller en ).
Private Sub Form_Open(Cancel As Integer) DoCmd.SetWarnings False DoCmd.RunSQL ("UPDATE master SET master.[Intern lev nr] = '0' & [Intern lev nr] WHERE (((master.[Intern lev nr]) Like '?????'))") DoCmd.RunSQL ("UPDATE master SET master.[Intern lev nr] = '00' & [Intern lev nr] WHERE (((master.[Intern lev nr]) Like '????'))") DoCmd.RunSQL ("UPDATE master SET master.[Intern lev nr] = '000' & [Intern lev nr] WHERE (((master.[Intern lev nr]) Like '???'))") DoCmd.RunSQL ("UPDATE master SET master.[Intern lev nr] = '0000' & [Intern lev nr] WHERE (((master.[Intern lev nr]) Like '??'))") DoCmd.RunSQL ("UPDATE master SET master.[Intern lev nr] = '00000' & [Intern lev nr] WHERE (((master.[Intern lev nr]) Like '?'))") DoCmd.SetWarnings True End Sub
Jeg skriver også at mit IKKE virker fordi den opdaterer til en null værdi. Det jeg skriver er at den kan eksekveres fra docmd.runsql..
Dit script virker ikke når det er et textfelt... den opdaterer men for en konverteringsfejl på grund af formatet... hvis jeg ignorerer denne bliver all værdier til null.
hvis jeg ændrer mit felt til at være number vil jeg ikke kunne hitte en søgning der feks hedder : 0054*, idet 00 jo bare er visuelle nuller og ikke eksisterer fysisk i tabellen. derfor har jeg valgt et text felt i formatet.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.