Solved

remove array element in access vba

Posted on 2014-10-02
5
1,658 Views
Last Modified: 2014-10-03
I wish to remove an element from the array that contains " " or "" I know it will involve a redim maybe a preserve too but not sure how to remove at the right place

so far:

  For index = LBound(AliasArray) To UBound(AliasArray)
            If AliasArray(index) = " " Or AliasArray(index) = "" Then remove that element
           
       
        Next index
0
Comment
Question by:PeterBaileyUk
  • 2
  • 2
5 Comments
 
LVL 12

Expert Comment

by:James Elliott
ID: 40358800
You can use a temporary array.

Option Explicit

Sub EE()

Dim arr As Variant
Dim arrTmp() As Variant
Dim x As Long, counter As Long

arr = Array(1, 2, 3, " ", 4)

For x = LBound(arr) To UBound(arr)

    If Not (arr(x) = "" Or arr(x) = " ") Then
    
        ReDim Preserve arrTmp(counter)
        
        arrTmp(counter) = arr(x)
        
        counter = counter + 1
        
    End If
Next x

arr = arrTmp

End Sub

Open in new window

0
 

Author Comment

by:PeterBaileyUk
ID: 40358804
that looks great could you teach me about this part :

arr = Array(1, 2, 3, " ", 4)

i can see its making arr equal to array but the bits within the brackets i am not sure about
0
 
LVL 12

Accepted Solution

by:
James Elliott earned 500 total points
ID: 40358807
Sorry, that is just me creating the initial array with some elements to test. If your AliasArray already has elements then you can remove the line. Something like this.

Option Explicit


Dim arrTmp() As Variant
Dim x As Long, counter As Long



For x = LBound(AliasArray) To UBound(AliasArray)

    If Not (AliasArray(x) = "" Or AliasArray(x) = " ") Then
    
        ReDim Preserve arrTmp(counter)
        
        arrTmp(counter) = AliasArray(x)
        
        counter = counter + 1
        
    End If
Next x

AliasArray= arrTmp

Open in new window

0
 
LVL 33

Expert Comment

by:Norie
ID: 40358826
How are you creating the array in the first place?

If it's through code using Redim etc then perhaps you could add something to the code that creates the array to exclude the values/strings/whatever you don't want in the array.
0
 

Author Closing Comment

by:PeterBaileyUk
ID: 40358827
brilliant had to ask or i wont learn
0

Featured Post

Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question