Questione : Basi di dati/errore di accesso multiplo dell'aggiornamento di DIFFICOLTÀ con valore nullo della data

Ciao All

Have un problema con l'aggiornamento del DB sincronizzato di accesso, quando una data è incontrollata da una raccoglitrice della data in un'applicazione delle forme di VB6 Windows. Inoltre questo impianti trattati benissimo con tutti gli altri aggiornamenti del campo eccetto dove le date sono Empty.

When un valore NULLO è passato (data variabile a partire da una certa data a niente) nei rs. L'aggiornamento non fa niente al valore nel secondo DB.

If che tento di intrappolare il valore ed aggiornarlo ad una stringa vuota o ad altra ottengo il seguente class= " la sottolineatura " >ADODB.Field
Description di error.


And se dichiaro una variabile per interferire il tipo di adoDB.field, ottengo il >Description " della sottolineatura " del class= del


This è vecchio codice da uno sviluppatore precedente ed essere onesto sto lottando per capire che il migliore senso riparare it.

I abbia attaccato il codice qui sotto e le osservazioni aggiunte alle zone relative. Il problema si presenta specificamente con field.type (7) cioè “adDate„. il

a proposito la definizione di campo nella Tabella di accesso è regolato “a Required = no„. per questo EndDate Field.

My la sensibilità di intestino è io deve ritornare a certa forma di dichiarazione di SQL “dell'aggiornamento„ o persino cancellare la fila dal DB di External e reinserire appena l'annotazione se un cambiamento è made.

I ha passare molte ore che provano a seguire giù il migliore senso occuparsi di questo in modo da tutto l'aiuto sarebbero appreciated.

Cheers FLOG51

class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
updateExternalDB notpretty di funzione del >Private " del class= " " di codeSnippet960726 del id= del
 di parentRS.fields (fieldname) allora
			        'Questa linea sotto è dove il valore NULLO della data è passato e mai input a externalparentRS.Update 
				     externalparentRS.fields (fieldname) = parentRS.fields (fieldname)
				    Se errare. Allora numerare il <> 0
					  'Debug.Print “è venuto a mancare: „ & err.description
				    Concluder se
			      Concluder se
		        Concluder se
	          Dopo
	          externalparentRS.Update
	          Se errare. Allora numerare il <> 0
		        updateExternalDB = err.description
	          Concluder se
	    Altrimenti
	      updateExternalDB = errorStr
	    Concluder se
	  Concluder se
	Concluder se
	parentRS.Close
	Regolare il parentRS = niente
Concludere la funzione
class= del

Risposta : Basi di dati/errore di accesso multiplo dell'aggiornamento di DIFFICOLTÀ con valore nullo della data

               Per ogni f in parentRS.fields 'ripetere attraverso ogni campo nel recordset del parentRS
                    il fieldname = f.name 'assegnano il nome del campo corrente ad una variabile di stringa

'qui è dove sto ottenendo sconcertante
            
                    Se non IsNull (parentRS.fields (fieldname)) Allora 'continuare soltanto se il valore del campo corrente non è NULLO
                        Se il "" di parentRS.fields (fieldname <> ) allora 'continua soltanto se il valore del campo corrente non è UNA STRINGA VUOTA

'come noi stanno ottenendo qui se un valore nullo stia passando????  I conditionals di cui sopra dovrebbero impedire questo

                          'Questa linea sotto è dove il valore NULLO della data è passato e mai input a externalRS.Update
                             externalRS.fields (fieldname) = parentRS.fields (fieldname)           'se otteniamo qui allora fissassimo il valore del campo del recordset del externalRS allo stesso valore del campo del parentRS
                            Se errare. Allora <> numerare 0
                                'Debug.Print “è venuto a mancare: „ & err.description
                            Concluder se
                        Concluder se
                    Concluder se
                Dopo
                aggiornamento di externalRS.Update 'il recordset
Altre soluzioni  
 
programming4us programming4us