Results 1 to 39 of 39

Thread: Inner Join?

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Inner Join?

    Hey guys,

    Im using a string sql code to get the average of each client i have. THe code is below:

    VB Code:
    1. If cbClient.Text <> "<ALL>" Then
    2.                 strSql = "SELECT name, value as average FROM (" & vbCrLf
    3.                 strSql = strSql & "Select '" & cbClient.Text & "' as [Name], AVG([" & cbClient.Text & "]" & ".Value) as [Value] from "
    4.                 strSql = strSql & "[" & cbClient.Text & "]" & " where [" & cbClient.Text & "].Date Between #" & mindate & "# And #" & maxdate & "# " & vbCrLf
    5.                 strSql = strSql & ");"
    6.             Else
    7.                 strSql = "SELECT name, value as average FROM (" & vbCrLf
    8.                 Dim FILENAME As String
    9.                 For i = 0 To schemaTable.Rows.Count - 1
    10.                     FILENAME = schemaTable.Rows(i).Item("TABLE_NAME")
    11.                     If (Not FILENAME.StartsWith("~TMP")) And Not (FILENAME.StartsWith("Msys")) And Not (FILENAME.StartsWith("fx_")) And Not (FILENAME.StartsWith("pr_")) And Not (FILENAME.StartsWith("cd_")) Then
    12.                         If IsFirstSubquery Then
    13.                             IsFirstSubquery = False
    14.                         Else
    15.                             strSql = strSql & "union " & vbCrLf
    16.                         End If
    17.                         strSql = strSql & "Select '" & FILENAME & "' as [Name], AVG([" & FILENAME & "]" & ".Value) as [Value] from "
    18.                         strSql = strSql & "[" & FILENAME & "]" & " where [" & FILENAME & "].Date Between #" & mindate & "# And #" & maxdate & "# " & vbCrLf
    19.                     End If
    20.                 Next i
    21.                 strSql = strSql & ");"
    22.             End If
    23.             cmd = New OleDbCommand(strSql, con)
    24.             dr = cmd.ExecuteReader
    25.             'The control datagridview does not have the items property, but it has the datasource property
    26.             'then we can use it to use that we need to assign the results of the query to an
    27.             'arraylist, for instance, then assing this arraylist to the datasource property of
    28.             'the datagrid
    29.             Dim QueryResult As New ArrayList
    30.             While dr.Read
    31.                 Dim dummy As New Average
    32.                 dummy.Name = dr("name")
    33.                 If Not IsDBNull(dr("average")) Then
    34.                     dummy.Average = dr("average")
    35.                 Else
    36.                     dummy.Average = "0"
    37.                 End If
    38.                 QueryResult.Add(dummy)
    39.             End While
    40.             dgvAverage.DataSource = QueryResult
    41.             'set the "average" column display order as the second column
    42.             Me.dgvAverage.Columns("average").DisplayIndex = 1
    43.             'average being the index of the column
    44.             Me.dgvAverage.Columns("average").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    45.             'set the "name" column display order as the first column
    46.             Me.dgvAverage.Columns("name").DisplayIndex = 0
    47.             'name being the index of the column
    48.             Me.dgvAverage.Columns("name").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
    49.             dr.Close()
    50.             cmd.Dispose().
    51.  Private Class Average
    52.         Private _name As String
    53.         Private _average As String
    54.         Public Property Name() As String
    55.             Get
    56.                 Return _name
    57.             End Get
    58.             Set(ByVal value As String)
    59.                 _name = value
    60.             End Set
    61.         End Property
    62.         Public Property Average() As String
    63.             Get
    64.                 Return _average
    65.             End Get
    66.             Set(ByVal value As String)
    67.                 _average = Math.Round(Double.Parse(value)).ToString
    68.                 If _average.Length < 16 Then
    69.                     Dim strTemp As String = String.Empty
    70.                     Dim chr As Char() = _average.ToCharArray
    71.                     For i As Integer = chr.Length - 1 To 0 Step -1
    72.                         If (chr.Length - i) Mod 3 = 0 And i <> 0 Then
    73.                             strTemp = "," & chr(i) & strTemp
    74.                         Else
    75.                             strTemp = chr(i) & strTemp
    76.                         End If
    77.                     Next
    78.                     _average = strTemp
    79.                 End If
    80.             End Set
    81.         End Property
    82.  
    83.     End Class

    My result table looks like this:
    name average
    aa 193,275
    ar 67,180
    at 43,716
    au 65,468

    I also have another table that is called cd_clients that look like this:
    name cy tax fee retro
    aa USD No 1.50% 0.00%
    ar USD No 1.50% 0.00%
    at USD No 1.50% 0.00%
    au USD No 1.50% 0.00%


    To get in my final query all of this data together should i add a inner join to my string sql?
    What i want is this:
    name average cy tax fee retro
    aa 193,275 USD No 1.50% 0.00%
    ar 67,180 USD No 1.50% 0.00%
    at 43,716 USD No 1.50% 0.00%
    au 65,46 USD No 1.50% 0.00%

    thx in advance for the help
    Last edited by super_nOOb; Dec 11th, 2006 at 10:15 AM.

  2. #2

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    ok maybe i should redo the question to see if it makes it easier:
    With the strSql i get a output like this

    SELECT name, value as average FROM(
    Select 'aa' as [name], AVG([aa].Value) as [Value] from [aa] where [aa].Date Between #01/01/2006# And #03/31/2006#
    );

    An this returns me the name and the average

    How can i, in the same datagrid also add the info from the cd_clients table? Should i ask this info in the same StrSQL or do another and the ask for it here:
    Code:
     dgvAverage.DataSource = QueryResult
    please notice that the info of cd_clients table is static and does not depend on dates as in the strsql. Please notice too that the id would be the column name. That is what i think i would use to bind the 2 tables together

    EDIT: I guess i should use something like WHERE cd_clients.name= [aa].name
    But actually im confused on how to do this in my StrSQL and also how to asign this new stuff in my dr.read
    Last edited by super_nOOb; Dec 11th, 2006 at 11:01 AM.

  3. #3
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    how bout this
    Code:
    SELECT aa.aa AS [name], AVG(aa.Value) AS [Value],cd_clients.cy, cd_clients.tax, cd_clients.fee, cd_clients.retro FROM aa INNER JOIN cd_clients ON aa.aa = cd_clients.aa WHERE aa.Date BETWEEN #01/01/2006# AND #03/31/2006#
    The inner join will only work if there are always values in both tables, otherwise you would want to use an outer join
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  4. #4

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    @ bmahler- thx for the reply. Just one question. Should i change anything in the 1st select? And how can i set my dr.read to make the output in the datagrid too

    SELECT name, value as average FROM(
    Select 'aa' as [name], AVG([aa].Value) as [Value] from [aa] where [aa].Date Between #01/01/2006# And #03/31/2006#
    );

    EDIT: The sql output is looking like this:

    SELECT name, value as average FROM(
    Select 'aa' as [name], AVG([aa].Value) as [Value], cd_clients.currency, cd_clients.vat, cd_clients.mngmt_fee, cd_clients.retrocession from [aa] OUTER JOIN cd_clients on [aa].Name = cd_clients.[aa] where [aa].Date Between #01/01/2006# And #03/31/2006#
    union
    Select 'ar' as [name], AVG([ar].Value) as [Value], cd_clients.currency, cd_clients.vat, cd_clients.mngmt_fee, cd_clients.retrocession from [ar] OUTER JOIN cd_clients on [ar].Name = cd_clients.[ar] where [ar].Date Between #01/01/2006# And #03/31/2006#
    );

    And the VBCODE is this
    VB Code:
    1. strSql = "SELECT name, value as average FROM (" & vbCrLf
    2.                 Dim FILENAME As String
    3.                 For i = 0 To schemaTable.Rows.Count - 1
    4.                     FILENAME = schemaTable.Rows(i).Item("TABLE_NAME")
    5.                     If (Not FILENAME.StartsWith("~TMP")) And Not (FILENAME.StartsWith("Msys")) And Not (FILENAME.StartsWith("fx_")) And Not (FILENAME.StartsWith("pr_")) And Not (FILENAME.StartsWith("cd_")) Then
    6.                         If IsFirstSubquery Then
    7.                             IsFirstSubquery = False
    8.                         Else
    9.                             strSql = strSql & "union " & vbCrLf
    10.                         End If
    11.                         strSql = strSql & "Select '" & FILENAME & "' as [Name], AVG([" & FILENAME & "]" & ".Value) as [Value], cd_clients.currency, cd_clients.vat, cd_clients.mngmt_fee, cd_clients.retrocession from "
    12.                         strSql = strSql & "[" & FILENAME & "]" & " OUTER JOIN cd_clients on [" & FILENAME & "].Name = cd_clients.[" & FILENAME & "] where [" & FILENAME & "].Date Between #" & mindate & "# And #" & maxdate & "# " & vbCrLf
    13.                     End If
    14.                 Next i
    15.                 strSql = strSql & ");"

    Is it correct?

    And here it is where i ask for the result in the DataGrid
    VB Code:
    1. cmd = New OleDbCommand(strSql, con)
    2.             dr = cmd.ExecuteReader
    3.             Dim QueryResult As New ArrayList
    4.             While dr.Read
    5.                 Dim dummy As New Average
    6.                 dummy.Name = dr("name")
    7.                 If Not IsDBNull(dr("average")) Then
    8.                     dummy.Average = dr("average")
    9.                 Else
    10.                     dummy.Average = "0"
    11.                 End If
    12.                 QueryResult.Add(dummy)
    13.             End While
    14.             dgvAverage.DataSource = QueryResult
    15. '____________________________________________________
    16.     Private Class Average
    17.         Private _name As String
    18.         Private _average As String
    19.         Public Property Name() As String
    20.             Get
    21.                 Return _name
    22.             End Get
    23.             Set(ByVal value As String)
    24.                 _name = value
    25.             End Set
    26.         End Property
    27.         Public Property Average() As String
    28.             Get
    29.                 Return _average
    30.             End Get
    31.             Set(ByVal value As String)
    32.                 _average = Math.Round(Double.Parse(value)).ToString
    33.                 If _average.Length < 16 Then
    34.                     Dim strTemp As String = String.Empty
    35.                     Dim chr As Char() = _average.ToCharArray
    36.                     For i As Integer = chr.Length - 1 To 0 Step -1
    37.                         If (chr.Length - i) Mod 3 = 0 And i <> 0 Then
    38.                             strTemp = "," & chr(i) & strTemp
    39.                         Else
    40.                             strTemp = chr(i) & strTemp
    41.                         End If
    42.                     Next
    43.                     _average = strTemp
    44.                 End If
    45.             End Set
    46.         End Property
    47.  
    48.     End Class
    Last edited by super_nOOb; Dec 12th, 2006 at 03:46 AM.

  5. #5
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    You should be specifying a left or right outer join I would presume that you want to use a left outer join in this case, which will return all records in table aa and only those records in table cd_clients
    like so
    VB Code:
    1. strSql &= "Select '" & FILENAME & "' as [Name], AVG([" & FILENAME & "]" & ".Value) as [Value], cd_clients.currency, cd_clients.vat, cd_clients.mngmt_fee, cd_clients.retrocession FROM "
    2. strSql &= "[" & FILENAME & "]" & " LEFT OUTER JOIN cd_clients on [" & FILENAME & "].Name = cd_clients.[" & FILENAME & "] where [" & FILENAME & "].Date Between #" & mindate & "# And #" & maxdate & "# " & System.Environment.Newline
    Also VbCrlf is vb6 you should use system.environment.newline which is the .net version
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  6. #6

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    I got this error message:
    Code:
    You tried to execute a query that does not include the specified expression 'Currency' as part of an aggregate function.
    here:
    dr = cmd.ExecuteReader

  7. #7
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    can you post the entire sql statement that is being passed when you are getting the error.
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  8. #8

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    yes sure
    The whole sql is bigger then my screen. I couldnt manage to print screen it all.

    By the way, the LEFT OUTER JOIN was what i was looking for
    Last edited by super_nOOb; Dec 12th, 2006 at 10:37 AM.

  9. #9
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    It looks like the error might be in your initial select where you select name and value. You will need to add the other fields that you are selecting
    ie
    VB Code:
    1. strSql = "SELECT name, value as average, Curr, Vat, Fee, Retro FROM (" & System.Environment.Newline
    2.                 Dim FILENAME As String
    3.                 For i = 0 To schemaTable.Rows.Count - 1
    4.                     FILENAME = schemaTable.Rows(i).Item("TABLE_NAME")
    5.                     If (Not FILENAME.StartsWith("~TMP")) And Not (FILENAME.StartsWith("Msys")) And Not (FILENAME.StartsWith("fx_")) And Not (FILENAME.StartsWith("pr_")) And Not (FILENAME.StartsWith("cd_")) Then
    6.                         If IsFirstSubquery Then
    7.                             IsFirstSubquery = False
    8.                         Else
    9.                             strSql = strSql & "UNION ALL " & System.Environment.Newline
    10.                         End If
    11.                         strSql = strSql & "Select '" & FILENAME & "' as [Name], AVG([" & FILENAME & "]" & ".Value) as [Value], cd_clients.currency AS [Curr], cd_clients.vat AS [Vat], cd_clients.mngmt_fee AS [Fee], cd_clients.retrocession AS [Retro] from "
    12.                         strSql = strSql & "[" & FILENAME & "]" & " LEFT OUTER JOIN cd_clients on [" & FILENAME & "].Name = cd_clients.[" & FILENAME & "] where [" & FILENAME & "].Date Between #" & mindate & "# And #" & maxdate & "# " & system.Environment.Newline
    13.                     End If
    14.                 Next i
    15.                 strSql = strSql & ");"

    Also you should use UNION ALL as opposed to UNION
    this is a quote from a post about sql rules to live by
    Always use UNION ALL
    UNION without ALL does a DISTINCT automatically - you lose common rows. Slower and dangerous for obvious reasons.
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  10. #10

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    @bmahler - Many thanks for the reply. I tried the code you posted and now i get a oledDbException was unhandlesd: Syntax error in FROM clause.

    in the same
    dr = cmd.ExecuteReader

    EDIT: Thanks for the Union All tip
    Last edited by super_nOOb; Dec 12th, 2006 at 09:15 AM.

  11. #11
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    hmmmm. LodeDbException?? do you mean oledbexception?

    place your query section in a try catch loop and catch the exception to get a more specific error message
    ie
    VB Code:
    1. Try
    2.             cmd = New OleDbCommand(strSql, con)
    3.             dr = cmd.ExecuteReader
    4.             Dim QueryResult As New ArrayList
    5.             While dr.Read
    6.                 Dim dummy As New Average
    7.                 dummy.Name = dr("name")
    8.                 If Not IsDBNull(dr("average")) Then
    9.                     dummy.Average = dr("average")
    10.                 Else
    11.                     dummy.Average = "0"
    12.                 End If
    13.                 QueryResult.Add(dummy)
    14.             End While
    15.             dgvAverage.DataSource = QueryResult
    16.         Catch ex as OleDBException
    17.             MessageBox.Show(ex.Message)
    18.         End Try
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  12. #12

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    Yes, sorry for the misstyping. It was a oledbexception. I ran your code and got in the message box this:Syntax error in From clause
    And i think i'll have to do this after the StrSql works right?
    VB Code:
    1. Dim QueryResult As New ArrayList
    2.             While dr.Read
    3.                 Dim dummy As New Average
    4.                 dummy.Curr = dr("Currency ")
    5.                 dummy.Vat = dr("VAT")
    6.                 dummy.Fee = dr("Fee")
    7.                 dummy.Retro = dr("Retro")
    8.                 dummy.Name = dr("name")
    9.                 If Not IsDBNull(dr("average")) Then
    10.                     dummy.Average = dr("average")
    11.                 Else
    12.                     dummy.Average = "0"
    13.                 End If
    14.                 QueryResult.Add(dummy)
    15.             End While
    16.             dgvAverage.DataSource = QueryResult
    VB Code:
    1. Private Class Average
    2.         Private _name As String
    3.         Private _average As String
    4.         Private _Curr As String
    5.         Private _Vat As String
    6.         Private _Fee As String
    7.         Private _Retro As String
    8.         Public Property Retro() As String
    9.             Get
    10.                 Return _Retro
    11.             End Get
    12.             Set(ByVal value As String)
    13.                 _Retro = value
    14.             End Set
    15.         End Property
    16.         Public Property Fee() As String
    17.             Get
    18.                 Return _Fee
    19.             End Get
    20.             Set(ByVal value As String)
    21.                 _Fee = value
    22.             End Set
    23.         End Property
    24.         Public Property Vat() As String
    25.             Get
    26.                 Return _Vat
    27.             End Get
    28.             Set(ByVal value As String)
    29.                 _Vat = value
    30.             End Set
    31.         End Property
    32.         Public Property Curr() As String
    33.             Get
    34.                 Return _Curr
    35.             End Get
    36.             Set(ByVal value As String)
    37.                 _Curr = value
    38.             End Set
    39.         End Property
    40.  
    41.         Public Property Name() As String
    42.             Get
    43.                 Return _name
    44.             End Get
    45.             Set(ByVal value As String)
    46.                 _name = value
    47.             End Set
    48.         End Property
    49.         Public Property Average() As String
    50.             Get
    51.                 Return _average
    52.             End Get
    53.             Set(ByVal value As String)
    54.                 _average = Math.Round(Double.Parse(value)).ToString
    55.                 If _average.Length < 16 Then
    56.                     Dim strTemp As String = String.Empty
    57.                     Dim chr As Char() = _average.ToCharArray
    58.                     For i As Integer = chr.Length - 1 To 0 Step -1
    59.                         If (chr.Length - i) Mod 3 = 0 And i <> 0 Then
    60.                             strTemp = "," & chr(i) & strTemp
    61.                         Else
    62.                             strTemp = chr(i) & strTemp
    63.                         End If
    64.                     Next
    65.                     _average = strTemp
    66.                 End If
    67.             End Set
    68.         End Property
    69.  
    70.     End Class

  13. #13
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    Try removing the initial SELECT
    ie
    VB Code:
    1. Dim FILENAME As String
    2.                 For i = 0 To schemaTable.Rows.Count - 1
    3.                     FILENAME = schemaTable.Rows(i).Item("TABLE_NAME")
    4.                     If (Not FILENAME.StartsWith("~TMP")) And Not (FILENAME.StartsWith("Msys")) And Not (FILENAME.StartsWith("fx_")) And Not (FILENAME.StartsWith("pr_")) And Not (FILENAME.StartsWith("cd_")) Then
    5.                         If IsFirstSubquery Then
    6.                             IsFirstSubquery = False
    7.                         Else
    8.                             strSql = strSql & "UNION ALL " & System.Environment.Newline
    9.                         End If
    10.                         strSql = strSql & "Select '" & FILENAME & "' as [Name], AVG([" & FILENAME & "]" & ".Value) as [Average], cd_clients.currency AS [Curr], cd_clients.vat AS [Vat], cd_clients.mngmt_fee AS [Fee], cd_clients.retrocession AS [Retro] from "
    11.                         strSql = strSql & "[" & FILENAME & "]" & " LEFT OUTER JOIN cd_clients on [" & FILENAME & "].Name = cd_clients.[" & FILENAME & "] where [" & FILENAME & "].Date Between #" & mindate & "# And #" & maxdate & "# " & system.Environment.Newline
    12.                     End If
    13.                 Next i

    I was playing around a bit and found that i got errors trying to run a query similar to yours, but it seemed to work fine without the initial select
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  14. #14

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    ok........i tried it

    Now i get an error in union query.
    This code i was using was working:
    VB Code:
    1. strSql = "SELECT name, value as average FROM (" & vbCrLf
    2.                 Dim FILENAME As String
    3.                 For i = 0 To schemaTable.Rows.Count - 1
    4.                     FILENAME = schemaTable.Rows(i).Item("TABLE_NAME")
    5.                     If (Not FILENAME.StartsWith("~TMP")) And Not (FILENAME.StartsWith("Msys")) And Not (FILENAME.StartsWith("fx_")) And Not (FILENAME.StartsWith("pr_")) And Not (FILENAME.StartsWith("cd_")) Then
    6.                         If IsFirstSubquery Then
    7.                             IsFirstSubquery = False
    8.                         Else
    9.                             strSql = strSql & "union " & vbCrLf
    10.                         End If
    11.                         strSql = strSql & "Select '" & FILENAME & "' as [Name], AVG([" & FILENAME & "]" & ".Value) as [Value] from "
    12.                         strSql = strSql & "[" & FILENAME & "]" & " where [" & FILENAME & "].Date Between #" & mindate & "# And #" & maxdate & "# " & vbCrLf
    13.                     End If
    14.                 Next i
    15.                 strSql = strSql & ");"
    16.             End If
    But would return me only the name and the average

  15. #15
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    let me ask you this... how come you have so many tables with the same fields and different names?
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  16. #16

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    Actually its a big sotry. Let me tell you.
    I have a folder where each client has a .txt file with his name. And each txt file has the Date and Value. So what i do is a dynamic import (in Access) of all of those .txt tables to create my database. And now i have this many tables (each one is named after each client name). And i am working with that...........

  17. #17
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    ah i see. It would make sense to perhaps consolidate all those tables into one table, It will save you this type of headache in the end. If that were the case, you would not need the unions at all and would greatly improve performance.

    As far as the issue you are having, I have tried quite a few ways to create a query similar to yours and have yet to get one to work with the initial select statement, however when I just use a union all it runs just fine.

    if you consolidated all the tables, then you could retrieve all the info you are looking for in one select statement

    I am going to pop open access and try this a couple more times but I would have to say that this issue seems to be in your database design and fixing that will definitely improve your chances of not running into more issues like this one.

    on a side note, the field names you are using, name,date and currency are all reserved SQL keywords and should not be used as field names. They will still work, but can also cause you more of a headache than they are worth
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  18. #18

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    @bmahler - Many thx for the reply. I actually tought i had some problems in my database and relationship design. I'll try to put it all together to see if it makes my life easeir. I just have one question. Should i create a new table for that or should i do a StrSql that unites all those tables together and then use this StrSql as an array, and then work on top of it?

  19. #19

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    because this is the access code im using to import the tables
    VB Code:
    1. Function tableexists(tbl As String) As Boolean
    2. On Error GoTo nofile
    3. tableexists = CurrentDb.TableDefs(tbl).Name = tbl
    4. 'this will be true, if table exists, or cause an error if it doesnt
    5.  
    6. exithere:
    7. Exit Function
    8.  
    9. nofile:
    10. tableexists = False
    11. Resume exithere
    12. End Function
    13.  
    14. Sub DeleteImportTxtFiles()
    15. Dim nFiles As Integer
    16. Dim FileName As String
    17. ReDim Files(1 To 10) As String
    18. Const Path As String = "G:\xTemp\txt.NET\"
    19.  
    20. FileName = Dir(Path & "*.*")
    21.  
    22. Do While (Len(FileName) > 0)
    23.     nFiles = nFiles + 1
    24.     ' If array is full...
    25.     If nFiles = UBound(Files) Then
    26.     ' Make room for 10 more files
    27.     ReDim Preserve Files(1 To nFiles + 10)
    28.     End If
    29.     Files(nFiles) = FileName
    30.     'If no more files exist exit loop
    31.     If FileName = "" Then Exit Do
    32.     'Make FileName without .txt extension
    33.     FileName = Left(FileName, InStr(1, FileName, ".") - 1)
    34.     'Delete all tables
    35.     If tableexists(FileName) Then DoCmd.DeleteObject acTable, FileName Else
    36.     'Check if table exists and if not create a new one
    37.     If tableexists(FileName) Then Else DoCmd.TransferText acImportDelim, "Apollo Link Specification1", FileName, "G:\xTemp\txt.NET\" & FileName & ".txt", True, ""
    38.     ' Get next file
    39.     FileName = Dir
    40.  Loop
    41.    
    42.     ReDim Preserve Files(1 To nFiles)
    43.  
    44. End Sub
    Should i consolidate them all inside this code in a way that my import would be only one table. Or should i make a query of the imported tables?

  20. #20
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    I would create a new table That based on the fields, something like
    People
    --id AutoNumber
    --personName -text
    --pDate -Datetime Short Date
    cd_clients
    --id autonumber
    --Peopleid -number Long Integer Foreign key to people
    --Money - currency
    --vat -text?
    --mngmt_fee -currency
    --retrocession -text?

    This is just a guess, because I am not exactly sure what the fileds are and such
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  21. #21

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    actually it is something like this that i have i hand
    http://vbforums.com/showthread.php?t=442370

  22. #22
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    I would change your import procedure to just read the files and insert that information into the appropriate table (meaning one table only)

    ps sent you a pm
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  23. #23

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    That was actually my first idea. But i quite didnt manage to do that........do you have any code that might help?

    ps: I just replied
    Last edited by super_nOOb; Dec 12th, 2006 at 10:39 AM.

  24. #24
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    I sent you back a modified db file to show you a simpler structure.

    What you would then want to do is read your text files and create an entry in the cd_client table with the name and values for that client. Once this record is created, get the primary key of that client (id) and insert that id withe the values and dates into the client_data table.

    the clientData Table field cd_clientID is foreign keyed to the cd_client (id) field.

    Hope this all helps you
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  25. #25

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    Great...........thx again for the help.........I'm still waiting for the email to arrive ^^
    Last edited by super_nOOb; Dec 12th, 2006 at 11:31 AM.

  26. #26

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    that is great....thx again
    oO
    How did you do that? I have no clue...did u use a module?

    Edit: I have one concern on that method too. I had the module runnuing because the .txt files should be changed everyday. SO the module was everyday deleting all the data there and importing the new ones. Is there anyway to do that with your method?
    Last edited by super_nOOb; Dec 12th, 2006 at 11:41 AM.

  27. #27
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    sure, if the cd_clients table will stay the same, you can just clear the client_data table and when importing the new file, just be sure to get the id from the cd_clients table and then insert the new values into the client_data table

    Edit: never even saw the modules, I just assumed you were writing this in vb.net (because this is in the vb.net forum...) but it looks like you are using vba. is this correct?
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  28. #28

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    no no.......I was using vba to manage the database, but the program is in vb.net. The oonly thing i was doing in vba was importing the database.

    I just have no clue how to import the data the way you did. Was it by vb.net?

  29. #29
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    I was just using a copy and paste to do it just to show how the table will look, but you can definitely do it programatically
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  30. #30

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    oh ok.................that is awesome stuff
    I had never seen it before...........So basically you copied the values from the old table to the new client_data?
    And in the cd_clients how did u manage to do that this that shows the data from the client_data. Is it only with the relashionship?

    Anyways that was great...............im impressed

  31. #31
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    I went to database relationships and created a relationship between the 2 tables joining them on the cd_clients (id) column and the client_data(cd_clientsID) column

    If you go to database relationships in the menus on top, you will see the relationship
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  32. #32

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    oh ok.........I saw that. I thought it came from there...........Im still slightly confused on how did u manage the client_data one. If i go to my .txt file and try copy and paste it doesnt work. Also if i try to use the "get external data" tool i can only get data one by one................im a bit confused heheheh..........sorry for my noobness

  33. #33
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    you will need to write a routine to read the lines in the text file and insert them one by one into that table once you have the key.

    Can you post one of the text files?
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  34. #34

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    Quote Originally Posted by bmahler
    you will need to write a routine to read the lines in the text file and insert them one by one into that table once you have the key.

    Can you post one of the text files?
    Oh ok. Should the id be in the .txt file as well?
    I'll send you one txt file by email

    EDIT:I just realized something, which was one of the main reasons i was doing the importing the other way. I wanted to store in the access database also all the .txt files that were once created but that are not being created anymore. And if i do the complete delete of the client_data table and redo it again everyday, if a .txt file intentionally stops to be created i would not have it in the access database anyomore. The way i was importing it previously it would still store the old txt ones
    I have to think on a good way out of this
    Last edited by super_nOOb; Dec 13th, 2006 at 03:44 AM.

  35. #35
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    Another idea is that you can store date and filename of files imported in another table when you import them
    an example
    table
    filesImported
    --id autnumber
    --filename -text
    --dateimported -datetime

    when you import the file, just check to see if that filename exists in this table, if so, just update the dateimported date, if it is a new file then add it to the table. This would keep an accurate record of the last date and time that all your files were imported
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  36. #36

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    oh, I see. DO this and still import all them to the same table. But the problem is that this table would have to be 3 dimensional, once it has clients in one dimension, dates in another an values in another. Unless i use only the biggest range available of dates and then make the column name as the client name. And then set the formula to be based on the colum name. But still i would also have to make some crazy query to return me the correct date...

  37. #37
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    I am not really following what you are saying here, What I posted was just an example of a third table that would store the time of import of a file, and give you a reference to see when the last time a file was imported. I am not really following what you are saying about three dimensions.
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

  38. #38

    Thread Starter
    Hyperactive Member
    Join Date
    Oct 2006
    Posts
    375

    Re: Inner Join?

    umm.............let me see how i can explain it:
    in the client_data table i have :
    id
    cd_clientID
    valDate
    val

    id have to change the cd_clientID to something like the name of the client in a way that when making the vba to import it can identify which .txt files are in the folder and which ones are not in way that it can keep the old ones and update the new ones. But then i thouhgt that would make more sense to put the name of the client istead of the val column. And then use one date set for all...........

  39. #39
    Frenzied Member bmahler's Avatar
    Join Date
    Oct 2005
    Location
    Somewhere just west of the Atlantic
    Posts
    1,568

    Re: Inner Join?

    hmmmm I think you are not following the concept of the database structure that i sent. You should only be storing the name in the cd_client table and in this data table you should be referencing the id of that client and not the name itself. I would also recommend just using vb.net to to the import, it would be a fairly simple class to write to read through that directory and import all the files and store the data to the database. Might save you some headache.
    Boooya
    • Visual Studio 2008 Professional
    • Don't forget to use [CODE]your code here[/CODE] when posting code
    • Don't forget to rate helpful posts!
    • If you're question was answered please mark your thread [Resolved]


    Code Contributions:
    PHP
    PHP Image Gallery v1.0PHP Image Gallery v2.0
    VB 2005
    Find Computers on a networkSimple License EncryptionSQL Server Database Access dllUse Reflection to Return Crystal ReportDocumentSilently Print PDFGeneric Xml Serailizer


    Useful Links: (more to come)
    MSDN (The first and foremost)MSDN Design Guidelines API Reference • Inno Setup CompilerInno Setup PreprocessorISTool - Fairly easy to use GUI for creating inno setup projects • Connection StringsNAnt -Automated BuildsCruise Control .NET - Frontend for automated builds

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width