Avatar billede puller Nybegynder
07. marts 2001 - 13:47 Der er 21 kommentarer og
1 løsning

Tilføj kolonne i forspørgsel

Hejsa,

Jeg vil gerne tilføje nogle data i en kolonne, som ikke eksisterer i forvejen.

Altså der skal oprettes en kolonne, og derefter skal data\'ene derind. Hvordan klarer jeg den
07. marts 2001 - 13:50 #1
Du kan kun tilføje data på den måde til en kolonne i en tabel. Ikke en forespørgsel.

Hvor kommer data fra?
Kan du uddybe det lidt nærmere?

/Thomas
Avatar billede puller Nybegynder
07. marts 2001 - 13:52 #2
Det er et navn, der skal kobles på alle posterne i hovedtabellen.
Avatar billede puller Nybegynder
07. marts 2001 - 13:52 #3
Ups, data er noget brugeren taster ind.
07. marts 2001 - 13:55 #4
Jamen, så skal du vel bare åbne tabellen i design og tilføje en linie nederst (svare til en kolonne, når du åbner tabellen i tabelvisning)

Derefter kan brugerne taste navne i den fremkomne kolonne.

/Thomas
Avatar billede puller Nybegynder
07. marts 2001 - 13:57 #5
Jamen det var derfor jeg gerne ville have den til at gøre det som en tilføjelsesprocedure. Så brugeren ikke opdagede at jeg tilføjede data.
07. marts 2001 - 13:59 #6
Dvs, at kolonnen eksistere, men du skal bare lægge data i den i henhold til det, som brugeren indtaster?
Avatar billede puller Nybegynder
07. marts 2001 - 14:07 #7
Nej Kolonnen eksisterer heller ikke.
07. marts 2001 - 14:11 #8
Okay, så er du nødt til at oprette kolonnen i tabellen.

Derefter kan du, når brugeren har indtastet navn, opdatere tabellen med det pågældende navn.

Der mangler dog stadig nogle oplysninger:
- Hvornår/hvor taster brugeren navnet? Er det på en formular eller er det en inputbox?
- Hvordan ved du hvilket navn, der skal placeres i hvilken post?
- Kender du noget som helst til VBA?

/Thomas
Avatar billede puller Nybegynder
07. marts 2001 - 14:14 #9
`Jeg ville helst have en inputbox.
Det er samme navn der skal placeres i alle poster.
Ja, jeg kender lidt til VBA
07. marts 2001 - 14:18 #10
Okay, så skal du (evt på en knap) lægge følgende kode:

Dim txtNavn as String
txtNavn = Inputbox(\"Angiv navn\")
if txtNavn <> \"\" then
    CurrentProject.Connection.Execute \"Update [Tabel] Set [Navn] = \'\" & txtNavn & \"\'\"
end if

hvor Tabel erstattes af navnet på tabellen og Navn erstattes hvis du har kaldt den nye kolonne andet en \'Navn\'

/Thomas
Avatar billede puller Nybegynder
07. marts 2001 - 14:21 #11
OK, men hvordan får jeg så oprettet en tom kolonne?
Avatar billede puller Nybegynder
07. marts 2001 - 14:22 #12
Automatisk selvfølgelig
07. marts 2001 - 14:24 #13
Hmm, du skal vel kun tilføje kolonnen én gang (manuelt) hvorefter den ligger der til tid og evighed?
Eller vil du have at hver bruger tilføjer en kolonne? (Dette strider mod alle grundlæggende regler og normalformer for databasedesign!)
Avatar billede puller Nybegynder
07. marts 2001 - 14:27 #14
Det er fordi databasen bliver tømt hver gang, så det er helt iorden at brugeren opretter en kolonne.
07. marts 2001 - 14:29 #15
Vil det så ikke være i orden, at du manuelt (som beskrevet i mit andet svar) opretter feltet i tabellen?

Derefter skulle koden virke.

Avatar billede puller Nybegynder
07. marts 2001 - 14:30 #16
Nej ikke helt, da jeg indlæser en fil med data, og den har ikke denne kolonne.
07. marts 2001 - 14:36 #17
OK, nu er jeg med (er lidt sløv i optrækket engang i mellem ;-)

Din kode skal så se således ud i stedet:

\'**** Start ****
Dim txtNavn as String
Dim db As Database
Dim tdef As TableDef
Set db = CurrentDb
Set tdef = db.TableDefs(\"Tabel\")
tdef.Fields.Append tdef.CreateField(\"Navn\", dbText)

txtNavn = Inputbox(\"Angiv navn\")
if txtNavn <> \"\" then
    CurrentProject.Connection.Execute \"Update [Tabel] Set [Navn] = \'\" & txtNavn & \"\'\"
end if
\'**** Slut ****

Da denne metode bygger på DAO-teknik, skal du huske at sætte en reference til MS DAO under Tools->References.

Og bemærk at der nu er flere steder, hvor du skal ændre navne, så de passer til din egen tabel.

mvh
Thomas
Avatar billede puller Nybegynder
07. marts 2001 - 14:39 #18
Hej Igen,

Jeg tror rent faktisk at det er lettere i importering at tilføje en kolonne. Og derefter benytte det første forslag du kom med.
07. marts 2001 - 14:40 #19
Ja, hvis du har den mulighed. Det var ikke til at vide ud fra din beskrivelse :-)
Avatar billede puller Nybegynder
07. marts 2001 - 14:55 #20
currentprojekt virker ikke i access
07. marts 2001 - 14:56 #21
Bruger du Access 97 eller 2000?

Hvis det er 97, skal du erstatte
CurrentProject.Connection.Execute
med
Currentdb.Execute

/Thomas
Avatar billede puller Nybegynder
07. marts 2001 - 15:09 #22
Tak for hjælpen! Det virker kanon!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester