Matching Software

Monday, February 12, 2007 Posted by Cecilia Loureiro-Koechlin
Last year, just before christmas, I entertained myself programming a small application in Visual Basic for Ms Access 2002. I developed a matching software to pair mentors and students in our project... (see 2 - 3 posts below)

For our project we are asking mentors and students to complete an online questionnaire about their experience and values (which I designed in our online community tool). The data from the questionnaire (tab-delimited files) are imported into the matching software. The application then calculates a matching mark for all the mentor-mentee combinations. The more similar values and experience mentor and student have, the higher the marks. Marks are shown in the grid (click picture to see a larger version).

The next step in the process is manual. My colleague and I decide which mentor goes with which student by clicking on the marks. The software highlights the mentor and student so they cannot be chosen again. (Only one studefor each mentor and one mentor for each student.) Of course we will choose the highest marks possible. We are doing this bit manually to avoid having the last pairs getting the worst marks. So by choosing ourselves the pairs we will try to balance the scale and be fair. The list of pairs chosen is shown in the bottom of the screen.


The whole thing looks simple. The only thing though was the $£%@# grid. I had to draw it! 25x25 = 625 boxes :( one by one!! I had all the resulting matching marks in an array and needed something to display them. The only thing that occurred to me was that grid.... I asked some "experts" (Pastelito, Tiki, JLo¼...) in visual basic, .net, java, etc. how I could draw 625 boxes in one go but got no answer...

The software works so I don't mind the time I spent in each box :P but if you happen to know a shortcut or a better way for doing this feel free to contribute in this blog. If you have no clue, just tell me whatever you are thinking....


-----------
cuando le pregunte a la Chata lo de la grilla me dijo "desconozco joven" :D
Labels: ,
  1. You didn't ask me!!!
    You know, you can just copy and paste a group of controls in Visual Basic. You draw the first line of boxes, the you select all of them, copy, paste, line 2, paste, line 3, etc, etc.
    You can use a grid too instead of all those text boxes.

  2. Anonymous

    There is another way, you work with the screen pixels and assign colors to each so that when you and your mentor colleague pair up a couple of people the screen goes yellow (or red).

    Alternatively you could adopt a more "Peruvian consulate" approach, and whenever the user clicks on a fake grid, you issue a message saying "the results will be delivered tomorrow, my colleague is very busy at the moment"

  3. Anonymous

    My previous comment was deleted by this £$&^% blog. So here is a short one:

    "Peruvian consulate approach" Issue a screen message saying "our systems are down at the moment and my colleague is busy, come back tomorrow"

    El pato

  4. Anonymous

    Viviana dice:

    nopi... no se vb y no te pude ayudar con tu super grilla que no se xq hiciste mil cajitas en lugar de un grid

  5. to Wendigo:

    What I wanted more is to avoid code like this one:

    [Forms]![Matching Process]![m00-02] = arrMatchingMark(0, 2)

    This one fills one text box with an array cell's value.... because there are 625 text boxes = 625 array cells I had to repeat this 625 times, but of course changing the index numbers.

    Another example is the routine I used to change colours of columns and rows... If you see I had to concatenate indexes to form the name of a particular textbox and then loop....

    strControlName2 = "m" & X & "-" & ii
    DoCmd.GoToControl strControlName2
    Set ctlCurrentControl = Screen.ActiveControl
    ctlCurrentControl.ForeColor = 255
    ctlCurrentControl.BackColor = 12632256

Post a Comment