| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | [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
 >
 >
 >
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |