2 differenti Recordset nella stessa maschera di access 2003

domenica 26 gennaio 2014 - 11.12
Tag Elenco Tags  Access (.mdb)

leoobelix Profilo | Newbie

su recordset

ho questo tipo di problema :

inserimento cliente : modificato con il tuo aiuto (split file)

vado ad eseguire nella stessa tabella se e' presente un ordine con lo stesso numero .
(posto codice ... Funziona perfettament ) passo alla fase 2

Set rs = DBEngine(0)(0).OpenRecordset("SELECT COUNT(*) AS [Ordine Numero] FROM [Tabella Oridini] WHERE [Ordine Numero]= '" & Me.Ordine_Numero.Value & "'")
If rs.Fields("ordine numero") > 0 Then
MsgBox "ATTENTIONE " & [Ordine Numero] & " GIA'REGISTRATO", vbCritical, "Attenzione !"


End If
rs.Close
Set rs = Nothing

'fase 2

in questo database ho trovato una vecchia tabella mai entrata in funzione per la blacklist
dove mettere i clienti cattivi . ho pensato di riformulare il codice e aggiungerlo al momento dello split in modo
da avere anche un controllo sulla black list .

Set dbs1 = CurrentDb
Set rs1 = DBEngine(0)(0).OpenRecordset("SELECT COUNT(*) AS [Nomeclient] FROM [Blacklist] WHERE [Nomeclient]= '" & Me.Nome_client.value & "'")
If rs1.Fields("Nomeclient") > 0 Then
MsgBox "ATTENTIONE QUESTO CLIENTE " & [Nome_client] & " E' IN BLACK LIST", vbCritical, "Attenzione !"
Me.txtdispute.Visible = True
Me.txtdispute.BackColor = 255
Me.txtdispute.Value = "BLACKLIST"
End If
rs1.Close
Set rs1 = Nothing

risultato che non mi sente nulla .

ma se uso questo stesso codice sulla casella di testo nome cliente (evento dopo aggiornamento) , funziona
come se non mi sentisse il valore ,mentre sente solo quello del numero ordine ....


ciao e grazie ancora .

renarig Profilo | Expert

>(posto codice ... Funziona perfettament ) passo alla fase 2

Secondo me è piu sbagliata la fase 1 della fase 2 .....
In generale
- usi sempre gli stessi nomi per definire piu oggetti diversi
- non usi sempre riferimenti espliciti Tipo
------ Me!NomeMaschera!NomeControllo.Value
------ NomeTabella!NomeCampo
- hai messo 1 riga di codice che non serve ( Set dbs1 = CurrentDb ) Perche poi usi DBEngine (0)(0)
- Gli spazi nei nomi dei campi o controlli non aiutano !!!!
- Nella query del Recordset ci metti " ...... (*) AS [Nomeclient] FROM ..... " ma in effetti quello non è un nome bensi il conteggio

Non vedo errori specifici, ma a parer mio quei continui riferimenti agli stessi nomi .....


La maschera è associata alla tabella "Tabella Ordini" ???
Le 2 fasi fanno parte della stessa routine ??
quale è l'evento che scatena la routine ??

Magari postaci una demo ridotta e depurata da dati sensibili

.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5