Buongiorno.Sono in difficoltà e spero quindi che mi possa venire da voi uno spunto o una soluzione al mio problema.
Ecco il codice.Esso sostanzialmente è proteso a verificare da una tabella di uffici quelli che non hanno fatto pervenire una statistica.Scadisco quindi la tabella degli uffici dal primo all'ultimo e per ciascuno cerco il documento.Se c'è ,alimento una listbox altrimento ne alimento un'altra.
Ora,se metto NON metto in funzione la Function apici (che corregge gli uffici accentati,tipo Forli',Paterno',ecc.) ottengo i risultati attesi.Se,per contro,l'attivo, mi da come risultato che NESSUN ufficio ha fatto pervenire il documento!
Sub nonp(v_anno, v_periodo)
Dim v_zona As String = "" : Dim v_contaP As Integer = 0 : Dim v_contaNP As Integer = 0
Dim strSqlZone As String = "Select comune From [ZONE] ORDER BY comune"
Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\AreaPersonale\statItalia.mdb")
Dim cmdzone As New OleDb.OleDbCommand(strSqlZone, cn)
Dim DR As OleDbDataReader
Dim DRStatistiche As OleDbDataReader
Try
If cn.State <> ConnectionState.Open Then
cn.Open()
End If
DR = cmdzone.ExecuteReader()
While (DR.Read())
v_zona = DR(0)
Dim cmdstatistiche As New OleDb.OleDbCommand("SELECT ZONA, ANNO, PERIODO FROM STATISTICHE WHERE ZONA='" & apici(v_zona) & "' and ANNO=" & v_anno & " AND PERIODO=" & v_periodo, cn)
DRStatistiche = cmdstatistiche.ExecuteReader()
If Not DRStatistiche.HasRows Then
nonpervenute.ListBoxNP.Items.Add(DR(0))
v_contaNP += 1
Else
nonpervenute.ListBoxPervenute.Items.Add(DR(0))
v_contaP += 1
End If
End While
Catch ex As Exception
MsgBox(ex.Message & Environment.NewLine & ex.StackTrace)
Finally
If cn.State = ConnectionState.Open Then
cn.Close()
End If
nonpervenute.Label3.Text = nonpervenute.Label3.Text + "(" & v_contaNP & ")"
nonpervenute.Label4.Text = nonpervenute.Label4.Text + "(" & v_contaP & ")"
End Try
End Sub
Public Function Apici(ByVal s As String) As String
Dim posizione As Integer = s.IndexOf("'")
If posizione = -1 Then
Exit Function
Else
s = Replace(s, "'", "''")
End If
End Function