Solved

Access 2013 - Visual basic code

Posted on 2015-02-05
10
261 Views
Last Modified: 2015-02-09
My OS is win 7 prof 64 bit and I use  Office 365, Access 2013.  I would like to know what is the syntax to rearrange a string of text :
Eg : a string like : 1234TqRi*(Ka
The string will consist of CAPS, small case, numbers and any key from the keyboard.
To be rearranged at random using vb code.
Thank u.
0
Comment
Question by:jegajothy
  • 4
  • 3
  • 2
  • +1
10 Comments
 
LVL 12

Expert Comment

by:FarWest
ID: 40591017
you can put each letter in array and make loop for len of the string you want
that takes random number of the array index usin RND function
0
 
LVL 57
ID: 40591023
There's nothing built-in to do that.   FarWest's idea is a good one and can be accomplished with all the usual string functions:  Left(), Mid(), Right(), etc and more than likely, you'll use Mid() the most.

Jim.
0
 

Author Comment

by:jegajothy
ID: 40591024
In response to FarWest, thank u for your suggestion, but if u can spare the time to give me a sample code.  Thank u.
0
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.

 
LVL 18

Expert Comment

by:Simon
ID: 40591043
This doesn't use FarWest's array idea (I was writing it before the first response) and is probably not as efficient, but it works...

Function RandomiseString(inputString) As String
mystr = inputString
myStrLen = Len(inputString)
resultstring = ""
Do Until Len(resultstring) = myStrLen
    random_number = Int(Len(mystr) * Rnd) + 1
    'Debug.Print random_number
    resultstring = resultstring & Mid(mystr, random_number, 1)
    mystr = Left(mystr, random_number - 1) & Right(mystr, Len(mystr) - random_number)
Loop
Debug.Print resultstring
End Function

Sub TestIt()
Debug.Print RandomiseString("SwitchThisPitch")
End Sub

Open in new window

0
 
LVL 12

Expert Comment

by:FarWest
ID: 40591059
here is the code
Private Sub Command5_Click()
Dim ar() As String
Dim rstr As String
Dim ii As Integer
Dim rn As Integer
ar = Split("a,b,c,d,N,R,U,r,$,/,T", ",")
Randomize
For ii = 1 To 10
rn = Int(11 * Rnd())  '10 is array lenght
rstr = rstr + ar(rn)

Next
Debug.Print rstr


End Sub

Open in new window

0
 
LVL 18

Accepted Solution

by:
Simon earned 500 total points
ID: 40591066
Sorry, had to tweak mine. I hadn't set the return value for the function:
Function RandomiseString(inputString) As String
mystr = inputString
myStrLen = Len(inputString)
resultstring = ""
Do Until Len(resultstring) = myStrLen
    random_number = Int(Len(mystr) * Rnd) + 1
    resultstring = resultstring & Mid(mystr, random_number, 1)
    mystr = Left(mystr, random_number - 1) & Right(mystr, Len(mystr) - random_number)
Loop
RandomiseString = resultstring
End Function

Sub TestIt()
Debug.Print (RandomiseString("1234TqRi*(Ka"))
End Sub

Open in new window


You can feed strings of any length to the function to return them re-ordered randomly.
0
 

Author Comment

by:jegajothy
ID: 40597440
thank u everyone for your inputs.  SimonAdept's solution fits into my design, thank u very much.
0
 

Author Closing Comment

by:jegajothy
ID: 40597442
SimonAdept's solution fits into my design, thank u.
0
 
LVL 12

Expert Comment

by:FarWest
ID: 40597988
Final hint, don't forget to call Randomize to link the RND function call with system clock, so probability to have the same output twice will be close to 0
0
 

Author Comment

by:jegajothy
ID: 40598224
In response to FarWest, my soluion has been a crude and dirty one, and hope it gives me the result that I want.  i think I should put up the final code to see what the experts think of it.  Thank u again.
0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

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

In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

777 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