Quantcast
Channel: Visual Basic Tips and Tricks
Viewing all 2212 articles
Browse latest View live

Try Catch

$
0
0
Ho un dubbio che non sono mai riuscito a chiarire completamente


Se io uso un Try Catch in una sub e all'interno del try richiamo altre sub definite in una classe che può essere interna al programma, ma anche in una dll refernziata. Un eventuale errore all'interno di queste sub viene comunque intercettato e attiva le istruzioni nela sezione Catch ... ?

setfocus casella combinata

$
0
0
Ciao a tutti,
uso Access 2010,
il setfocus mi funziona solo su casella di testo,
mentre se cerco di fare il setfocus su una casella combinata non mi funziona più
o provato e letto di tutto ma non riesco a trovare il problema,
E capitato a qualcuno il mio problema?
Potrebbe dipendere da qualche Api?
O dal fatto che ho installato access 2016 per provarlo e sono ritornato ad access 2010
magari sarà rimasto qualcosa che mi crea sto problema.

In debug passo-passo non funziona balloon tips

$
0
0
Andando in debug passo-passo dopo aver messo un breakpoint passando con la freccina del mouse su una qualunque variabile appariva il classico balloon tips (fumetto) dove si poteva leggere il valore in quel determinato momento della variabile.

Ieri funzionava oggi non va più!!

Vi è mai successo?

Devo resintallare VB6 ??? spero di no!!

Grazie a chi potrà darmi una mano

Impedire aggiungi e modifica se elemento già presente

$
0
0

Salve ho un piccolo problema, ovvero vorrei fare in modo che se in una colonna di un documento access aperto tramite una listview in vb2015, mi venga impedito di aggiungere o modificare se nella colonna è presente un altro elemento che possiede lo stesso nome: 

 

Button1.Text = "Modifica" Then
            Cn.Open()
            If TextBox1.Text = "" Then
                MsgBox("Il Codice Catastale ed il Comune devono essere necessariamente inseriti", vbInformation, "Valori necessari")
                Cn.Close()
                Exit Sub
            End If
            If TextBox2.Text = "" Then
                MsgBox("Il Codice Catastale ed il Comune devono essere necessariamente inseriti", vbInformation, "Valori necessari")
                Cn.Close()
                Exit Sub
            End If
            Form1.ListView1.FocusedItem.SubItems(0).Text = TextBox1.Text
            Form1.ListView1.FocusedItem.SubItems(1).Text = TextBox2.Text
            Form1.ListView1.FocusedItem.SubItems(2).Text = TextBox3.Text
            Form1.ListView1.FocusedItem.SubItems(3).Text = TextBox4.Text
            Form1.ListView1.FocusedItem.SubItems(4).Text = TextBox5.Text
            Form1.ListView1.FocusedItem.SubItems(5).Text = TextBox6.Text
            Form1.ListView1.FocusedItem.SubItems(6).Text = TextBox7.Text
            Form1.ListView1.FocusedItem.SubItems(7).Text = TextBox8.Text
            Form1.ListView1.FocusedItem.SubItems(8).Text = TextBox9.Text

 

Qui dovrei mettere un codice che mi permetta questo controllo e nel caso ci fosse nella colonna "Codice Catastale" un doppione me lo impedisca.

            sql = "UPDATE ComuniItaliani SET [Codice Catastale] ='"& TextBox1.Text & "', Comune = '"& TextBox2.Text & "', Regione = '"& TextBox3.Text & "', Prefisso = '"& TextBox4.Text & "', Provincia = '"& TextBox5.Text & "', Nazione = '"& TextBox6.Text & "',Cap = '"& TextBox7.Text & "', [Cap Zonale massimale] = '"& TextBox8.Text & "', Cab = '"& TextBox9.Text & "'"&
                "WHERE [Codice Catastale] ='"& newtext & "'"
            cmd = New OleDbCommand(sql, Cn)
            dr = cmd.ExecuteReader
            Cn.Close()

 

Come potrei fare? Questo devo farlo anche perchè nel caso in cui ci fosse un doppione quando modifico la colonna mi verrebbero modificati tutti i recordset con la stesso valore nella colonna  "Codice Catastale", rendendomeli uguali.

[vb 2015] formattazione cella datagridview

$
0
0

Buonasera,

ho un semplice progetto con una datagridview; vorrei, una volta scritto a mano in una cella, formattare quella cella in formato €.

Sto cercando su google ma non riesco comunque a risolvere.
Perdonatemi

creare 2 mdiform

$
0
0

Buongiorno, ho un form mdi e al suo interno altri form child.

 

Avrei la necessita premendo un tasto dal form child aprire un duplicato del form mdi (ovviamente esterno dal primo form mdi) in modo da avere 2 form mdi uguali su 2 finestre separate.

 

Questo è possibile?

 

Grazie

 

 

 

Ridimensionare immagini in Datagridview

$
0
0

Ho un problema con un datagridview, in questo dgv carico in una colonna una seire di immagini, visto che possono essere tante ho deciso di aggiungere una opzione per ridimensionare le celle e di conseguenza anche le immagini, solo che non riesco assolutamente a trovare un modo per ridimensionarle, cambio larghezza colonna e altezza riga ma le foto restano come le ho caricate.

Esiste un modo per ridimensionarle o devo ricaricare la dgv con le nuove impostazioni di riga a e colonne??

query con apice e altri caratteri speciali (: ?,*,@,%....)

$
0
0

Salve a tutti, 

lavoro con vbnet su database access 97.

sapete se, senza utilizzare le query parametriche, c'è un modo per effettuare query su tabelle contenenti campi stringa contenenti caratteri come apice singolo e altri caratteri speciali (: ?,*,@,%....) ?

Grazie in anticipo a chi mi risponderà.

 

 

 


PrintPreviewDialog come auimentare size dei font

$
0
0

CIao ho una printpreviewdialog e la carico a schermo intero. Però mi9 piacerebbe che i bottoni della barra e i font utilizzati fossero maggiori rispetto a quelli che mi da di default.

dim PrintPreviewDialog1 as New PrintPreviewDialog

PrintPreviewDialog1.WindowState = FormWindowState.Maximized
'qui penso che ci vada il coidce per aumentare la dimensione del font e dei button della barra del menù del printpreviewdialog

PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()

Ogni opzione è accolta

Grazie a tutti.

P.s. come mettete le faccine nelle risposte?? 

Comando adodb per i recordset

$
0
0

Salve volevo sapere in una connessione adodb come faccio a prender un singolo recordset.

Dim rs = New adodb.recorset

rs.Fields(0)    'in questo modo selezionavo il 1 recordset presente nella colonna1 

 

 

In vbnet non funziona, come posso fare?

Grazie a chi cortesemente risponda.

VB2010.NET

$
0
0

Salve,

ho scritto un programma usando la versione ULTIMATE VB2010.NET e trovo difficoltà nella compilazione.

ho scaricato e vorrei passare alla versione VB2010.NET EXPRESS ITA però quando lancio il programma attraverso l'icona col segno di infinito parte sempre la versione ULTIMATE in inglese con cui ho poca dimestichezza.

Come devo fare per far partire la versione ITA ?

 

Collegamento tabelle DB Access

$
0
0

Salve a tutti,

chiusa la discussione precedente (vedi  "Errore -2147467259") stasera sono alle prese con un altro errore (guarda un po') comunque "frutto" di quella discussione.

Per aggiornare il collegamento di alcune tabelle di un archivio *.mdb (di nome Gestione) alle tabelle di un altro archivio sempre *.mdb (di nome=Inventario) stasera ho trovato in rete  questo codice che ho adattato alla mia situazione (=percorsi e nomi):

    'Effettua il collegamento con le tabelle del DB Inventario
    Dim dbGestione As DAO.Database
    Dim Percorso As String
    Dim i As Integer
    Set dbGestione = OpenDatabase(App.Path & "\..\Archivio\Schedario\Gestione.mdb")
        Percorso = App.Path & "\..\Archivio\Schedario\Inventario.mdb"
        For i = 0 To dbGestione.TableDefs.Count - 1
          If Len(dbGestione.TableDefs(i).Connect & "") > 0 Then
            If Mid(dbGestione.TableDefs(i).Connect, 11) <> Percorso Then
              dbGestione.TableDefs(i).Connect = ";database="& Percorso & ";Pwd= FalcoGiallo"
              dbGestione.TableDefs(i).RefreshLink
            End If
          End If
        Next i
    Set dbGestione = Nothing

Quando l'esecuzione del codice arriva alla riga -dbGestione.TableDefs(i).RefreshLink- mi ritorna l'errore 3031 informandomi che la password non è corretta ... ovviamente il DB Inventario si apre solo se digito la psw "FalcoGiallo".

Qualcuno mi sa indicare la causa di questa "anomalia"?

Alcuni riferimenti: Access è il 2000; S.O. Windows XP SP3; nel progetto è inserito il riferimento DAO 3.6

Grazie in anticipo



Group box come showdialog

$
0
0

Ho un problema con un form.

ho associato ad alcuni Button la visualizzazione di diverse groupbox, mi piacerebbe che aprendo le groupbox il resto del form diventasse enable Falso come quando apro una finestra di dialogo in showdialog o un messagebox. E' possibile??

Ho una idea su come poter fare una cosa del genere utilizzando dei form per ogni groupbox di modo che posso rendere enable il form principale, l'unica cosa che in questo modo devo poi referenziare il codice con il form originale e aggiungere un sacco di variabili nel modulo che è già abbastanza carico di suo e avere un sacco di variabili che stanno li a occupare memoria mi scoccia.

Altra cosa che pensavo è quella di bloccare tutti i controlli quando visualizzo la finestra groupbox è poi li sblocco quando la nascondo.

Cosa mi consigliate di fare?

 

data grid view e CellFormatting

$
0
0

Ciao a tutti,
non riesco a spiegarmi una cosa

Con il codice che segue coloro di rosso tutte le righe che nella colonna FlCancellato riportano il valore "x". 

Private Sub DGVDati_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DGVDati.CellFormatting



        If Me.DGVDati("FlCancellato", e.RowIndex).Value.ToString = "x" Then


            Me.DGVDati.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Red


        End If



End Sub



Mi sono accorto ora che se la prima riga ha FlCancellato = "x" TUTTE le righe si colorano di rosso. Se invece la "x"è su una o più righe successive alla prima si colorano regolarmente di rosso solo le righe con la "x". La grid ha una data table che fa da source.

Cosa mi sfugge????

Grazie 1000.

Beppe

Differente visualizzazione form se lanciato da Sub Main

$
0
0

Ciao a tutti. Uso VS2008 Pro e framework 3.5 SP1.

Ho la stessa applicazione che si presente in modo differente se lanciata con due modalità differenti:

A) classico con il form di partenza (frmClientCodes) che usa l'istanza predefinita

B) via Sub Main che lo lancia come sotto:

    Application.Run(New frmClientCodes(DBServerType, DBconn, ProgName, LANG, ProjectInfo.ProjectID, _
                                       ProjectInfo.ProjectNo, JobSpecs, LCClientCodeType, LCClientDescrType, _
                                       ClientTypeTablesList))

le differenti visualizzazioni sono (prima immagine modo A seconda modo B):

 


Si può notare come le due scritte "Select Client Codes Table" siano differenti (sembra quasi un font diverso) e anche il posizionamento è differente. Il font usato e Thaoma.

I due programmi usano lo stesso form e questo problema mi si è presentato anche con altro programma cui ho fatto le stesse modifiche (ovvero partenza da Sub Main invece che da istanza predefinita).

Preciso che ho già provato anche a sostituire Application.Run(New frmClientCodes(....)) con

Dim frm as new frmClientCodes(....)

frm.show

ma il risultato non è cambiato.

Le stesse differenze le riscontro sia in ambiente di sviluppo (Win 7) che in produzione (Win server 2008 R2) quindi il SO non c'entra.

L'unica differenza a livello di progetto è nell'esclusione dell'application framework per poter dire che deve partire da Sub Main.

Qualcuno sa darmi una spiegazione di questo fatto?

Grazie

Stefano

 


[VB2015]problemi con Process.Start

$
0
0

 

Salve, ho questo problema che non so come superarlo.... devo fare eseguire delle applicazioni esterne ma nel primo caso con una stringa di questo tipo:

 

"C:\Progra Files\IrfanView\iv_uninstall.exe"

 

mi da errore e dice:

 

Ulteriori informazioni: Per eseguire l'operazione richiesta è necessaria l'esecuzione con privilegi elevati

 

nel secondo caso con parametri aggiuntivi ES:

MsiExec.exe /X{0EFDF2F9-836D-4EB7-A32D-038BD3F1FB2A}

mi si apre la schermata di Windows Installer ed elenca tutti i possibili parametri utilizzabili... questo è il codice che utilizzo

 

 

Private Sub DGV_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV.CellDoubleClick
       If DGV.Columns(e.ColumnIndex).Name = "Collegamento Uninstaller" Then
           'PanRiepilogo.Visible = False

           Dim Val As String = DGV.Rows(e.RowIndex).Cells(e.ColumnIndex).Value

           If IsDBNull(Val) Then
               Val = "" ' blank if dbnull values
           Else

               If Val.Length > 0 Then
                   If MessageBox.Show("Vuoi veramente disistallare questa applicazione ?",
                                      "Finestra conferma disistaller",
                                      MessageBoxButtons.YesNo,
                                      MessageBoxIcon.Question) = DialogResult.No Then
                       Exit Sub
                   End If
                   Dim Par(1) As String
                   Dim _e As Char() = {"/", "-"}
                   Dim val2 As String = Val.Replace("""", String.Empty)
                   For Each c In _e
                       If val2.Contains(c) Then
                           Par = Split(val2, c)
                           Exit For
                       Else
                           Par(0) = val2
                           Par(1) = ""
                       End If
                   Next
                   Dim startInfo As New ProcessStartInfo(Par(0))
                   startInfo.WindowStyle = ProcessWindowStyle.Minimized
                   If Par(1).Length > 0 Then
                       startInfo.Arguments = Par(1)
                   End If
                   startInfo.RedirectStandardOutput = True
                   startInfo.UseShellExecute = False
                   startInfo.CreateNoWindow = True
                   Dim p = Process.Start(startInfo)
                   Dim result = p.StandardOutput.ReadToEnd()
                   p.Close()
               End If
           End If
       End If
   End Sub

ora chiedo come posso ovviare al problema devo creare un file .Bat ? ho esiste un altra alternativa ?

Datagridview colore riga in base al valore della cella

$
0
0

Buongiorno ho il seguente problema :

Visualizzo in un Datagridview i dati di una tabella BUONI

vorrei che dove le  celle nella colonna DATAINCASSO sono vuote le righe nel Datagridview siano di colore verde

mentre se e' presente un valore siano di colore rosso.

Grazie

 

Help dataadapter

$
0
0

Ciao a tutti 

volevo chiedervi se sapete indicarmi un sito web o anche meglio un tutorial un pochino valido per approfondire l'uso dei dataadapter indirizzato all'utilizzo del command builder e dei command update e insert .

ho dato un occhiata su msdn ma trovo tutto un pochino confuso e troppo legato alla configurazione guidata. 

Grazie a tutti in anticipo.

 

Reportviewer non aggiorna la lista dei dati

$
0
0

Salve sono nuova....

Vorrei sapere come mai non funziona in un reportviewer il refreshreport. Ho un reportviewer allegato ad un database access contenente dati.

        Form5.ReportViewer1.Clear()
        Form5.ReportViewer1.RefreshReport() 

Teoricamente dopo che ho aggiunto dei dati all'interno del database dovrebbero essere visualizzati nel mio report, ma questo non accade, devo per forza chiudere e riaprire il mio programma.

Il report è visualizzato attraversi un dataset che ho connesso in maniera automatica grazie a Strumenti/Connetti a database.

Sapreste aiutarmi?

FlowLayoutPanel limite 32768 pixel

$
0
0
Salve,
come potete immaginare dal titolo ho il problema del limite di visualizzazione dei controlli, ovvero non sono visibili all'interno del FlowLayoutPanel superati i 32768 pixel, all'interno sono contenuti dei usercontrol con delle dimensioni di 250px x 200px.
Volevo sapere se c'è la possibilità di superare questo limite oppure di aggiralo in qualche modo.

P.s.
L'ho sò già che non è il massimo windows form per fare cose del genere ma al momento non posso fare diversamente, in futuro passero a wpf.
Viewing all 2212 articles
Browse latest View live