Crystal report – Aligner sur un meme ligne sans avoir d’espace a cause de champs trop haut

Sans titre.png

Le 1 se mettait correctement et le 2 et 3  se mettais sur la ligne verte.

Rapport principale :

Sans titre

Sous rapport :

Sans titre.png

 

Faire un sous rapport pour les lignes qui doivent etre l’un en dessous de l’autre sans avoir d’espace.

Dans le rapport mettre l’adresse qui va se mettre sur plusieurs ligne.

Créer une variable partagé dans une formule init qui nous permetrra de zapper la premiere ligne.

Formule Init :

shared booleanvar premier_passe := false

Remplir une formule dans la fonction « supprimer » du sous rapport :

shared booleanvar premier_passe ;

if ( {Commande.creancier_numero} = previous({Commande.creancier_numero}) ) and premier_passe = true then
(
premier_passe := false;
true
)
else
(
premier_passe := true;
false
)

Créer un lien entre le rapport et le sous rapport si il ont la meme source de données:

Clique droit sur le sous rapport -> changer les liens

Puis dans la formule supprimer de l’adresse, ajout la formule suivante :

shared booleanvar premier_passe ;

if premier_passe = false then
(
true;
);

 

 

 

 

 

 

 

AjaxControlToolkit – Mettre en place HtmlEditorExtender

Installer les package nuget :

Install-Package HtmlAgilityPack

Install-Package AjaxControlToolkit.HtmlEditor.Sanitizer

Install-Package AjaxControlToolkit

 

<asp:ScriptManager ID= »ScriptManager1″ runat= »server »></asp:ScriptManager>  <asp:TextBox ID= »TextBox1″ runat= »server »></asp:TextBox>
<ajaxToolkit:HtmlEditorExtender ID= »HtmlEditorExtender1″ runat= »server » TargetControlID= »TextBox1″ >  </ajaxToolkit:HtmlEditorExtender>

VB.NET – Générer / Créer DataTable depuis un DataGridView avec les champs visibles + leurs ordres

 »’ <summary>
 »’ Retourne un DataTable rempli avec les colonnes visible d’un datagridview.
 »’ </summary>
 »’ <param name= »dgv »>DataGriView source</param>
 »’ <returns></returns>
Public Function genererDataTableDepuisDataGridView(dgv As DataGridView) As DataTable
Dim dt = New DataTable()
Dim a As Integer = 0
‘ Crée les colonnes du DataTable à retourner avec les colonnes visibles du DataGridView.
For a = 0 To dgv.ColumnCount Step 1
For Each col As DataGridViewColumn In dgv.Columns
If a = col.DisplayIndex Then
If col.Visible = True Then
dt.Columns.Add(col.Name)
End If
End If
Next
Next
‘ crée un object d’un longueur égale au dataTable que l’on viens de créer.
Dim Values As Object() = New Object(dt.Columns.Count – 1) {}
‘ pour chaque ligne du dataGridView et pour chaque colonne on rempli la valeur.
For Each row As DataGridViewRow In dgv.Rows
Dim i As Integer = 0
For Each dc As DataColumn In dt.Columns
If dgv.Columns(row.Cells(dc.ColumnName).ColumnIndex).Visible = True Then
Values(i) = row.Cells(dgv.Columns(dc.ColumnName).Index).Value
i += 1
End If
Next
dt.Rows.Add(Values)
Next
Return dt
End Function

SQL – Divers

Exclure des données depuis une jointure :

utilisation de left join et condition is null

select * from t1 left join t2 on t1.numero = t2.numero where t2.date is null

 

Créer une sauvegarde d’une table :

create table schema.nom_table_sauvegarde as select * from ma_table_a_sauvegarder

 

 

VB.NET – Replacer les caractères spéciaux d’une chaine string

Dim chaine As String = « /-?:(),+àsdsdqd  áâãäåfdsg  dfgÀÁÂdfgà ÄÅéèêëËÊÉdfgAZAZAZFGGÈòóôõöÒÓÔÕÖùúûüÙÚÛÜìíîïÌÍÎÏÿýÝçÇ »
Dim chaine_final As String = «  »
Dim non_autorise As Char() = « /-?:(),+àáâãäåÀÁÂÃÄÅéèêëËÊÉÈòóôõöÒÓÔÕÖùúûüÙÚÛÜìíîïÌÍÎÏÿýÝçÇ ».ToCharArray()
Dim autorise As Char() = « /-?:(),+aaaaaaAAAAAAeeeeEEEEoooooOOOOOuuuuUUUUiiiiIIIIyyYcC ».ToCharArray()

Dim i As Integer = 0
For Each s As String In chaine
For Each a As String In autorise
If i = non_autorise.Length Then
Exit For
End If
If s = non_autorise(i) Then
chaine = chaine.ToString.Replace(non_autorise(i), a)
End If
i += 1
Next
i = 0
Next

 

 

En faire une fonction :

Public Function remplacementCaractereSpeciaux(pChaineAModifier As String, pCaractereAutorise As String, pCaractereNonAutorise As String)

Dim chaine As String = pChaineAModifier
Dim non_autorise As Char() = pCaractereNonAutorise.ToCharArray()
Dim autorise As Char() = pCaractereAutorise.ToCharArray()

Dim i As Integer = 0
For Each s As String In chaine
For Each a As String In autorise
If i = non_autorise.Length Then
Exit For
End If
If s = non_autorise(i) Then
chaine = chaine.ToString.Replace(non_autorise(i), a)
End If
i += 1
Next
i = 0
Next

Return chaine

End Function

Windows Iot – Installation

Suivre indication ici pour télécharger le Dashboard afin de mettre Windows sur la carte SD.

Pour voir le Raspberry dans les appareil, le brancher en Ethernet pour configurer le wifi après.

Pour se connecter par la suite au raspberry :

Utilisateur : Administrator

Mot de passe : celui entré à l’installation.

 

Crystal report – Evenement sur bouton imprimer du crystalviewer

‘Permet de trouver le bouton qui à été cliquer dans le Crystal report viewer
‘ et de lui rajouter un événement
For Each Ctrl As Control In Me.CrystalReportViewer1.Controls
If TypeOf Ctrl Is ToolStrip Then
For Each Obj As Object In CType(Ctrl, ToolStrip).Items
If TypeOf Obj Is ToolStripButton Then
AddHandler CType(Obj, ToolStripButton).Click, AddressOf printButton_Click
End If
Next
End If
Next

Private Sub printButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub

 

VB.NET -Excel Créer / Sauvegarder / Fermer

Assembly à utiliser :

Imports Microsoft.Office.Interop.Excel

Code :

Dim excel As Application = Nothing
Dim mFichier As String = «  »
Dim wb As Microsoft.Office.Interop.Excel.Workbook

Private Sub objExcelcreate()
Try
mFichier = »monfichier.xlt »
excel = New Application
wb = excel.Workbooks.Open(mFichier )
excel.Visible = True
excel.DisplayAlerts = False

‘ EVENEMENT POUR DECTECTER LA FERMETURE ET  FERMER EXCEL
Try
AddHandler excel.WorkbookBeforeClose, AddressOf myExcel_Quit
Catch ex As Exception
End Try

Catch ex As Exception
MessageBox.Show(ex.Message.ToString)
End Try
End Sub

‘ FERMER EXCEL

Private Delegate Sub delegExcel()

Public Sub myExcel_Quit()
If Me.InvokeRequired Then
Me.Invoke(New delegExcel(AddressOf excel_Close))
End If
End Sub

‘ FERMER EXCEL
Public Sub excel_Close()

‘SAUVEGARDER LE FICHIER

wb.SaveAs(monfichier.xlt)
excel.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(wb)
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel)
GC.Collect()
End Sub