|
| [SQL] UPDATE af sammenkædet tabeller Fra : Johnny Emde Jensen |
Dato : 14-06-02 09:35 |
|
Hej NG
Jeg har i et VB6 projekt et mindre problem. Jeg har to tabeller (på SQL
server) der er forbundet med kaldet:
SELECT UDVHVDP1.IDENT AS UDHIDT, UDVLINP1.IDENT AS UDLIDT
FROM UDVHVDP1 LEFT JOIN UDVLINP1 ON ([UDVHVDP1].[KDBKR] =[UDVLINP1].[KDBKR])
AND (([UDVHVDP1].[FIRMA] =[UDVLINP1].[FIRMA]) AND ([UDVHVDP1].[OORDRE]
=[UDVLINP1].[OORDRE]))
WHERE UDVHVDP1.OORDRE BETWEEN x AND y
(hvor x og y er ordre numrer) - der ligger flere begrænsninger... hvor nogle
berører UDVHVDP1 og nogle UDVLINP1.
Jeg bruger så koden:
Set Rcd = New ADODB.Recordset
Rcd.Open SQL,CON
With Rcd
If .Eof = True And .Bof = True Then
Goto NoRecords
End IF
.MoveFirst
Do Until .Eof
!UDHIDT = "I"
!UDLIDT = "I"
.Update
.MoveNext
Loop
End With
NoRecords:
Rcd.Close
Jeg får returneret en fejl - noget om at der ikke er nok felt-referencer til
at udføre Update - kan dette løses, og/eller er der en der kan give et rent
SQL eksempel.
/Johnny
| |
Krabsen (16-06-2002)
| Kommentar Fra : Krabsen |
Dato : 16-06-02 19:06 |
|
Vel noget med, at dine joins tilsammen ikke er unikke, så der ikke er en
entydig reference tilbage til tabellerne. Check, om dine join-felter er
indekserede i begge tabeller - hvis der på alle felter er 'indekseret -
dubletter tilladt' tror jeg, at Access bliver forvirret, for hvilken record
peger vi lige på?
...og hvorfor lader du forresten ikke SQL foretage ændringen med en
opdateringsforespørgsel??
mvh
Krabsen
"Johnny Emde Jensen" <emde@emde.dk> skrev i en meddelelse
news:aec9ei$2hgt$1@news.cybercity.dk...
> Hej NG
>
>
> Jeg har i et VB6 projekt et mindre problem. Jeg har to tabeller (på SQL
> server) der er forbundet med kaldet:
>
> SELECT UDVHVDP1.IDENT AS UDHIDT, UDVLINP1.IDENT AS UDLIDT
> FROM UDVHVDP1 LEFT JOIN UDVLINP1 ON ([UDVHVDP1].[KDBKR]
=[UDVLINP1].[KDBKR])
> AND (([UDVHVDP1].[FIRMA] =[UDVLINP1].[FIRMA]) AND ([UDVHVDP1].[OORDRE]
> =[UDVLINP1].[OORDRE]))
> WHERE UDVHVDP1.OORDRE BETWEEN x AND y
>
> (hvor x og y er ordre numrer) - der ligger flere begrænsninger... hvor
nogle
> berører UDVHVDP1 og nogle UDVLINP1.
>
> Jeg bruger så koden:
>
> Set Rcd = New ADODB.Recordset
> Rcd.Open SQL,CON
> With Rcd
> If .Eof = True And .Bof = True Then
> Goto NoRecords
> End IF
> .MoveFirst
> Do Until .Eof
>
> !UDHIDT = "I"
> !UDLIDT = "I"
> .Update
> .MoveNext
> Loop
> End With
> NoRecords:
> Rcd.Close
>
> Jeg får returneret en fejl - noget om at der ikke er nok felt-referencer
til
> at udføre Update - kan dette løses, og/eller er der en der kan give et
rent
> SQL eksempel.
>
> /Johnny
>
>
>
| |
|
|