czardas Posted July 30, 2013 Share Posted July 30, 2013 (edited) I tried to modify the code examples here, but I don't have beta installed, part of the script is missing and I'm not accustomed to using SQL functions, so I decided it would make more sense to show you an example of what I was referring to. Whether it is easy for you to use this method is unclear to me. It depends on the functions you are using to get the data. Here's my example anyway. It might give you an idea. ; Global $g_IsEmpty ; Flag for testing array elements Local $aArray[2][4] ; Array Local $sData1 = "", $sData2 = "", $sData3 = "", $sData4 = Chr(0) ; Change values to see the difference $g_IsEmpty = True ; Reset for every new array For $i = 0 To UBound($aArray) -1 $aArray[$i][0] = $sData1 ; The array elements get filled or not $aArray[$i][1] = $sData2 $aArray[$i][2] = $sData3 $aArray[$i][3] = $sData4 ; Test what is happening as we go If $g_IsEmpty Then ; If False the next lines are skipped For $j = 0 To 3 ; We have not found any data yet. If $aArray[$i][$j] And $aArray[$i][$j] <> Chr(0) Then ; Data exists - null character is ignored $g_IsEmpty = False ; Change the flag ExitLoop ; Get out of here EndIf Next EndIf Next If $g_IsEmpty Then MsgBox(0, "", "Array is empty") ; Although I agree with Water that a single array would be better. No need to combine the results: just add the information from each query to the end of the array and allow it to grow in size (using ReDim) if needed.. Edited July 30, 2013 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
skybax Posted July 30, 2013 Author Share Posted July 30, 2013 If at the end you need a single Array with all the records then this is the fastest and easiest way. I need it as a single array to be able to write it to a excel file like this. Link to comment Share on other sites More sharing options...
water Posted July 30, 2013 Share Posted July 30, 2013 Give it a try and see what you get. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
skybax Posted July 30, 2013 Author Share Posted July 30, 2013 (edited) Give it a try and see what you get. This is what i get Edited July 30, 2013 by skybax Link to comment Share on other sites More sharing options...
skybax Posted July 31, 2013 Author Share Posted July 31, 2013 I have made this Global $iResult[1][4] = [[0, 0, 0, 0]] If IsArray($aResult) Then _ArrayCombine($iResult, $aResult) If IsArray($bResult) Then _ArrayCombine($iResult, $bResult) If IsArray($cResult) Then _ArrayCombine($iResult, $cResult) If IsArray($dResult) Then _ArrayCombine($iResult, $dResult) If IsArray($eResult) Then _ArrayCombine($iResult, $eResult) _ArrayDisplay($iResult) It adds a "buffer" array in which i can write the results from the mysql queries the only problem is that now i have useless first row of data, but now all of the array can be null . Dose anyone know how can i delete the first row of the final $iResult with the condition that $iResult has a minimum of 2 rows. Link to comment Share on other sites More sharing options...
water Posted July 31, 2013 Share Posted July 31, 2013 You could use _ArrayDelete but that is rather slow. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
skybax Posted July 31, 2013 Author Share Posted July 31, 2013 You could use _ArrayDelete but that is rather slow. Global $iResult[1][4] = [[0, 0, 0, 0]] If IsArray($aResult) Then _ArrayCombine($iResult, $aResult) If IsArray($bResult) Then _ArrayCombine($iResult, $bResult) If IsArray($cResult) Then _ArrayCombine($iResult, $cResult) If IsArray($dResult) Then _ArrayCombine($iResult, $dResult) If IsArray($eResult) Then _ArrayCombine($iResult, $eResult) _ArrayDelete($iResult, 0) if $iResult = "" then MsgBox(-1,"TEST","IN INTERVALUL SELECTAT NU SUNT ELEMENTE") if $iResult <> "" then _ArrayDisplay($iResult) With this modification all seems to be ok. Link to comment Share on other sites More sharing options...
skybax Posted July 31, 2013 Author Share Posted July 31, 2013 @Water Thank You for your support! Link to comment Share on other sites More sharing options...
water Posted July 31, 2013 Share Posted July 31, 2013 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now