static ADOX.DataTypeEnum GetAccessFormats(DataColumn col)
{
switch (col.DataType.Name)
{
case "Boolean":
return ADOX.DataTypeEnum.adBoolean;
case "Byte":
return ADOX.DataTypeEnum.adUnsignedTinyInt;
case "Char":
return ADOX.DataTypeEnum.adVarWChar;
case "DateTime":
return ADOX.DataTypeEnum.adDate;
case "Decimal":
return ADOX.DataTypeEnum.adDecimal;
case "Double":
return ADOX.DataTypeEnum.adDouble;
case "Int16":
return ADOX.DataTypeEnum.adSmallInt;
case "Int32":
return ADOX.DataTypeEnum.adInteger;
case "Int64":
return ADOX.DataTypeEnum.adInteger;
case "SByte":
return ADOX.DataTypeEnum.adUnsignedSmallInt;
case "Single":
return ADOX.DataTypeEnum.adSingle;
case "String":
return ADOX.DataTypeEnum.adVarWChar;
case "TimeStamp":
return ADOX.DataTypeEnum.adGUID;
default:
return ADOX.DataTypeEnum.adUserDefined;
}
}
29 de abril de 2009
Obter o Sinónimo Access ADOX de uma DataColumn ADO.NET
22 de abril de 2009
VSTO (Access) – Verificar se a Internet está disponível
public bool IsInternetAvailable()
{
try
{
using (System.Net.Sockets.TcpClient clnt =
new System.Net.Sockets.TcpClient("www.microsoft.com", 80))
{
clnt.Close();
}
return true;
}
catch (Exception)
{
throw;
}
}
VSTO (Access) - Como tocar um ficheiro WAV?
public string PlayWAVFile(string myPath)
{
try
{
using (SoundPlayer objPlayer = new SoundPlayer { SoundLocation = myPath })
{
objPlayer.Play();
return "Ok";
}
}
catch (Exception)
{
throw;
}
}
VSTO (Access) - Como verificar se duas tabelas são iguais?
public bool TablesAreEqual(string MyTableSource, string MyTableToCompare, string MyIndexField)
{Access.Application oAccess = ((Access.Application)
(Marshal.GetActiveObject("Access.Application")));
try
{
OleDbConnection cnn;
using (DataSet ds = new DataSet())
{
OleDbDataAdapter da;
string cs = oAccess.CurrentProject.Connection.ToString();
string strSQL = String.Format("SELECT * FROM {0} LEFT JOIN {1} ON {0}.{2} = {1}.{2}WHERE {1}.{2} Is Null"
, MyTableSource, MyTableToCompare, MyIndexField);
cnn = new OleDbConnection(cs);
da = new OleDbDataAdapter(strSQL, cnn);
da.Fill(ds);
if (ds.Tables[0].Rows.Count <= 0)
return true;
else
return false;
}
}
catch (Exception)
{
throw;
}
finally
{
Marshal.ReleaseComObject(oAccess);
}
}
VSTO – Como gerar um GUD?
public string GenerateGUID()
{
try
{
Guid guid = Guid.NewGuid();
return guid.ToString();
}
catch (Exception)
{
throw;
}
}
VSTO - Como efectuar o backup da Base de Dados Access aberta?
public bool BackupCurrentDatabase(string MyDestinationpathAndFile)
{
Access.Application oAccess = ((Access.Application)
(Marshal.GetActiveObject("Access.Application")));
try
{
File.Copy(oAccess.CurrentProject.FullName, MyDestinationpathAndFile);
return true;
}
catch (Exception)
{
throw;
}
finally
{
Marshal.ReleaseComObject(oAccess);
}
Access 2007 Bibliotecas (DLL) no CodePlex
Lancei recentemente o MACL no CodePlex.
O que é o MACL?
É um conjunto de bibliotecas com utilidades e acesso a Dados que tem como objectivo facilitar a vida ao programador VBA. O código fonte foi desenvolvido em C# e utiliza as funcionalidades do Framework 2.0
Requisitos:
Framework 2.0
Access 2007
Compatível com VB 6.0
Onde posso encontrar?
No CodePlex
No Blog com exemplos
No Forum de suporte
A Release
