/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Opdatering af database tabel med en variab~
Fra : John Hansen


Dato : 14-03-06 19:33

Hej alle,

Findes der en klog der kan giove mig løsningen på følgende problem:

Jeg skal fra VB opdatere nogle kolonner i en tabel, som jeg har gjort mange
gange tidligere, sådan:
m_DB.Execute "UPDATE Tabelnavn " & "SET ColName =" & data

hvor Tabelnavn er navnet på tabellen i databasen og ColName er navnet på
kolonnen.

Jeg skal imidlertid nu benytte en variabel i stedet for den "hardkodede"
kolonne oplysning (ColName), men kan ikke få det til at virke.
Er det på nogen måde muligt at benytte en variabel indeholdende navnet på
kolonnen til erstatning for ColName?

På forhånd tusind tak,

John



 
 
Peter Lykkegaard (14-03-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 14-03-06 19:46

"John Hansen" wrote
>
> Findes der en klog der kan giove mig løsningen på følgende problem:
>
> Jeg skal fra VB opdatere nogle kolonner i en tabel, som jeg har gjort
> mange
> gange tidligere, sådan:
> m_DB.Execute "UPDATE Tabelnavn " & "SET ColName =" & data
>
> hvor Tabelnavn er navnet på tabellen i databasen og ColName er navnet på
> kolonnen.
>
> Jeg skal imidlertid nu benytte en variabel i stedet for den "hardkodede"
> kolonne oplysning (ColName), men kan ikke få det til at virke.
> Er det på nogen måde muligt at benytte en variabel indeholdende navnet på
> kolonnen til erstatning for ColName?
>
Jow da?
Hvad har du prøvet?

Denne burde drible - forudsat dataene er numeriske

m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " =" & data

Ellers:

m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " ='" & data & "'"

- Peter



John Hansen (14-03-2006)
Kommentar
Fra : John Hansen


Dato : 14-03-06 21:51

Hej Peter

Jamen - jeg troede jeg havde prøvet alt.
Det funker bare...
Hundrede millioner tak for den (ikke mindst) meget hurtige hjælp jeg stod og
skulle bruge.
Godt gået

John


"Peter Lykkegaard" <plykkegaard@gmail.com> skrev i en meddelelse
news:44170f7f$0$150$edfadb0f@dread16.news.tele.dk...
> "John Hansen" wrote
> >
> > Findes der en klog der kan giove mig løsningen på følgende problem:
> >
> > Jeg skal fra VB opdatere nogle kolonner i en tabel, som jeg har gjort
> > mange
> > gange tidligere, sådan:
> > m_DB.Execute "UPDATE Tabelnavn " & "SET ColName =" & data
> >
> > hvor Tabelnavn er navnet på tabellen i databasen og ColName er navnet på
> > kolonnen.
> >
> > Jeg skal imidlertid nu benytte en variabel i stedet for den "hardkodede"
> > kolonne oplysning (ColName), men kan ikke få det til at virke.
> > Er det på nogen måde muligt at benytte en variabel indeholdende navnet

> > kolonnen til erstatning for ColName?
> >
> Jow da?
> Hvad har du prøvet?
>
> Denne burde drible - forudsat dataene er numeriske
>
> m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " =" & data
>
> Ellers:
>
> m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " ='" & data & "'"
>
> - Peter
>
>



Neo (15-03-2006)
Kommentar
Fra : Neo


Dato : 15-03-06 10:05

>> m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " =" & data
>>
>> Ellers:
>>
>> m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " ='" & data & "'"
>>
>> - Peter


Hejsa ...

Det ligner noget som jeg har rodet en del med ... som jeg slet ikke kan få
til at virke !

Du kunne vel ikke fortælle mig hvordan man opretter en tabel i en
eksisterende database (access 97) med vb6, DAO

hvordan opretter jeg et felt i den nyoprettede tabel ? defination af type
osv .. ?

Evt et link til noget der beskriver dette

Mvh Neo



Gert Krabsen (15-03-2006)
Kommentar
Fra : Gert Krabsen


Dato : 15-03-06 10:47

Neo wrote:
>>>m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " =" & data
>>>
>>>Ellers:
>>>
>>>m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " ='" & data & "'"
>>>
>>>- Peter
>
> Det ligner noget som jeg har rodet en del med ... som jeg slet ikke kan få
> til at virke !
>
> Du kunne vel ikke fortælle mig hvordan man opretter en tabel i en
> eksisterende database (access 97) med vb6, DAO
>

på nøjagtig samme måde:

db.execute "CREATE TABLE Tabelnavn (tabelnavn_key AutoIncrement NOT
NULL, felt1 VARCHAR(20), felt2 LONG )"

...udskift selv faste tekster med variabler som vist ovenfor..

> hvordan opretter jeg et felt i den nyoprettede tabel ? defination af type
> osv .. ?


på nøjagtig samme måde:

db.execute "ALTER TABLE Tabelnavn ADD COLUMN felt3 VARCHAR(255)"

Skal du gøre det tit, så lave en rutine:

--------------
Sub opretFelt(tabelnavn As String, feltnavn As String, felttype As String)
On Error GoTo eh
ssql = "ALTER TABLE " & tabelnavn & " " _
&"ADD COLUMN " & feltnavn & " " & felttype
db.Execute (ssql)
DoEvents
Exit Sub
eh:
If Err = 3380 Then ' felt findes i forvejen
   MsgBox "Feltet " & feltnavn & " findes allerede i " & tabelnavn & "."
Else
MsgBox Error
End If
Resume Next
End Sub
--------------

Kaldes med :
opretfelt "tabelnavn", "feltets navn", "feltets type"

eks.
opretfelt "tmpRapport", "Antal3", "LONG"


> Evt et link til noget der beskriver dette

<F1>

Der er en udmærket beskrivelse af SQL-syntaksen i hjælpen til VB og Access..


mvh

Krabsen

Neo (15-03-2006)
Kommentar
Fra : Neo


Dato : 15-03-06 11:15


"Gert Krabsen" <fjernkrabsen@fjernkrabsenfjern.dk> skrev i en meddelelse
news:4417e29a$0$15790$14726298@news.sunsite.dk...
> Neo wrote:
>>>>m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " =" & data
>>>>
>>>>Ellers:
>>>>
>>>>m_DB.Execute "UPDATE Tabelnavn " & "SET " & myCol & " ='" & data & "'"
>>>>
>>>>- Peter
>>
>> Det ligner noget som jeg har rodet en del med ... som jeg slet ikke kan
>> få til at virke !
>>
>> Du kunne vel ikke fortælle mig hvordan man opretter en tabel i en
>> eksisterende database (access 97) med vb6, DAO
>>
>
> på nøjagtig samme måde:
>
> db.execute "CREATE TABLE Tabelnavn (tabelnavn_key AutoIncrement NOT NULL,
> felt1 VARCHAR(20), felt2 LONG )"
>
> ..udskift selv faste tekster med variabler som vist ovenfor..
>
>> hvordan opretter jeg et felt i den nyoprettede tabel ? defination af type
>> osv .. ?
>
>
> på nøjagtig samme måde:
>
> db.execute "ALTER TABLE Tabelnavn ADD COLUMN felt3 VARCHAR(255)"
>
> Skal du gøre det tit, så lave en rutine:
>
> --------------
> Sub opretFelt(tabelnavn As String, feltnavn As String, felttype As String)
> On Error GoTo eh
> ssql = "ALTER TABLE " & tabelnavn & " " _
> &"ADD COLUMN " & feltnavn & " " & felttype
> db.Execute (ssql)
> DoEvents
> Exit Sub
> eh:
> If Err = 3380 Then ' felt findes i forvejen
> MsgBox "Feltet " & feltnavn & " findes allerede i " & tabelnavn & "."
> Else
> MsgBox Error
> End If
> Resume Next
> End Sub
> --------------
>
> Kaldes med :
> opretfelt "tabelnavn", "feltets navn", "feltets type"
>
> eks.
> opretfelt "tmpRapport", "Antal3", "LONG"
>
>
>> Evt et link til noget der beskriver dette
>
> <F1>
>
> Der er en udmærket beskrivelse af SQL-syntaksen i hjælpen til VB og
> Access..
>
>
> mvh
>
> Krabsen

Hej Gert !

Tak for et SUPER hurtigt svar .... du er en ven i nøden

Jeg afprøver det senere og vender tilbage med kommentarer .. jeg har lidt
rigeligt at se til lige nu .... begge unger er syge

Mvh Neo



Neo (15-03-2006)
Kommentar
Fra : Neo


Dato : 15-03-06 14:21

> db.execute "CREATE TABLE Tabelnavn (tabelnavn_key AutoIncrement NOT NULL,
> felt1 VARCHAR(20), felt2 LONG )"
>
> ..udskift selv faste tekster med variabler som vist ovenfor..
>
>> hvordan opretter jeg et felt i den nyoprettede tabel ? defination af type
>> osv .. ?
>
>
> på nøjagtig samme måde:
>
> db.execute "ALTER TABLE Tabelnavn ADD COLUMN felt3 VARCHAR(255)"
>
> Skal du gøre det tit, så lave en rutine:
>
> --------------
> Sub opretFelt(tabelnavn As String, feltnavn As String, felttype As String)
> On Error GoTo eh
> ssql = "ALTER TABLE " & tabelnavn & " " _
> &"ADD COLUMN " & feltnavn & " " & felttype
> db.Execute (ssql)
> DoEvents
> Exit Sub
> eh:
> If Err = 3380 Then ' felt findes i forvejen
> MsgBox "Feltet " & feltnavn & " findes allerede i " & tabelnavn & "."
> Else
> MsgBox Error
> End If
> Resume Next
> End Sub
> --------------
>
> Kaldes med :
> opretfelt "tabelnavn", "feltets navn", "feltets type"
>
> eks.
> opretfelt "tmpRapport", "Antal3", "LONG"
>
>
>> Evt et link til noget der beskriver dette
>
> <F1>
>
> Der er en udmærket beskrivelse af SQL-syntaksen i hjælpen til VB og
> Access..

Hej igen ...

.... jamen det er jo simpelthen genialt !

Dog har jeg lige et tillægsspørgsmål ...

Hvordan sletter jeg et felt i en tabel ?

Jeg forsøger således : SQL = "ALTER TABLE " & tabelnavn & " DELETE
COLUMN " & feltnavn

men jeg får besked om at der er en syntaksfejl i "alter table" sætningen

Mvh Neo



Peter Lykkegaard (15-03-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 15-03-06 14:49

"Neo" wrote

> Dog har jeg lige et tillægsspørgsmål ...
> Hvordan sletter jeg et felt i en tabel ?
>
http://www.blueclaw-db.com/alter_table_ddl.htm

- Peter



Neo (15-03-2006)
Kommentar
Fra : Neo


Dato : 15-03-06 17:34


"Peter Lykkegaard" <plykkegaard@gmail.com> skrev i en meddelelse
news:44181b3f$0$172$edfadb0f@dread16.news.tele.dk...
> "Neo" wrote
>
>> Dog har jeg lige et tillægsspørgsmål ...
>> Hvordan sletter jeg et felt i en tabel ?
>>
> http://www.blueclaw-db.com/alter_table_ddl.htm
>
> - Peter

Superhurtigt svar endnu engang ... tak for det !

.... og så lige et spørgsmål til

Jeg forsøger at lave et datofelt i en tabel:

SQL = "ALTER TABLE MinTabel ADD COLUMN Dato smalldatetime" .... og der
får jeg en fejl 3292 - der er en syntaksfejl i feltdefinitionen

hvis jeg derimod gør således:

SQL = "ALTER TABLE MinTabel ADD COLUMN Dato datetime" .... så bliver mit
felt oprettet

men jeg ønsker et datofelt med format som kort-datoformat (dd-mm-yyyy)

Kan du se hvad jeg gør galt ?

Mvh Neo



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste