Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Need help with uniqueness test

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Re: Need help with uniqueness test

    I strongly suggest you add a new calculated fiel to your child table in wich you combine the Parent id with the child id (Eg. Parent_id + child_id), and then just validate by checking that the value of this new field "doesnt exist" on the table.
    Cheers
    Mauricio

    Comment


      #17
      Re: Need help with uniqueness test

      Actually I tried that already and couldn't get it to work, but maybe I was doing something wrong.

      At your suggestion I'll try it again. Thanks.
      Sergeant Richard Hartnett
      Hyattsville City Police Department
      Maryland

      Comment


        #18
        Re: Need help with uniqueness test

        Well Mauricio I did as you said, but I'm not having any luck. I created a calculated field in my "Persons.dbf" table called "link_Code" which adds two fields together: alltrim(LinkingKey)+(Code).

        The result normally looks something like "S001V-1" (S001 + V-1)

        Then I set the Cross-File Grid Validation rules to test that field for uniqueness by specifying that the value in the field "Must Not Exist." (See attached photo)

        I then tested it by entering "S001V-1" in the test area, and it gave me the error message which said that the value already existed. Then I used entered "S001V-2," and it said "success." (V-2 is not already in use in LinkingKey #S001.)

        So it seems like it works, but when I published it and tested it on the web, the form still accepts duplicate "Code" designators, with no error messages whatsoever.

        Any other thoughts?
        Sergeant Richard Hartnett
        Hyattsville City Police Department
        Maryland

        Comment


          #19
          Re: Need help with uniqueness test

          Richard, are you sure that the uniqueness validation field rule works at all in a web app?

          Check this thread:

          http://msgboard.alphasoftware.com/al...ht=field+rules

          You probably need to do a basic search in this forum for other threads discussing validation sequences for web apps.

          Comment


            #20
            Re: Need help with uniqueness test

            Richard have you tried to set the validation directly on the field rules?
            Cheers
            Mauricio

            Comment


              #21
              Re: Need help with uniqueness test

              Richard, are you sure that the uniqueness validation field rule works at all in a web app?
              Well yes and no. (Hi Tom) I am aware that only some field rules work in web apps, and I have used them extensively. In this particular case, I have been able to make a simple validation work within the web component's own built-in validation section, by simply stating that a particular value MUST NOT EXIST at all, within the "Persons_ncpd" .dbf table, and it works exactly as it should. On the other hand, in this case I only want the application to check for duplicate data on records within the same LinkingKey, and that is where I am having my problems.

              I strongly suggest you add a new calculated field to your child table in which you combine the Parent id with the child id (Eg. Parent_id + child_id), and then just validate by checking that the value of this new field "doesnt exist" on the table.
              Mauricio I tried that, and it works correclty if you enter the new record on a desktop application, but on the web, it lets duplicate data get entered into the table. I think the problem with this suggestion is that it requires a calculation to take place before it checks for duplicate data, and since nothing happens until submitted over the web, the table accepts the duplicate data before it can get the calculated results in the field which is being checked. As such, by the time the calculated field has finished calculating, the duplicate data as already been inserted into the table, and has effectively bypassed the validation protection. (Just my observation.)

              Incidentally Tom, I did read the other post you listed above with info from Steve Wood, but it really doesn't answer the question as to validations on the web, except to say, "some work, some don't."

              I think we need some input from a "higher authority!" LOL
              Sergeant Richard Hartnett
              Hyattsville City Police Department
              Maryland

              Comment


                #22
                Re: Need help with uniqueness test

                Got an idea

                how about doing something like this on the BeforeValidateNewRecord event

                'this will look for the person id on the table filtered for the report id
                lookup("TableNameHere","report_id="+quote(DataSubmitted.Report_id_inGrid),DataSubmitted.person_id_inGrid)

                'You need an error handler so that when the above script doesn't finds 'somethig it will skip the redirect to page comand
                on error goto Continue_here

                CurrentForm.RedirectTarget= "Error_duplicate.a5w"

                Continue_here


                'is just an idea you will have to refine it to make it work
                Cheers
                Mauricio

                Comment


                  #23
                  Re: Need help with uniqueness test

                  but maybe you wont have the report id at that point so maybe try on another event
                  Cheers
                  Mauricio

                  Comment


                    #24
                    Re: Need help with uniqueness test

                    I'm sure this is answered somewhere below, but is this a Grid or a Dialog?
                    Steve Wood
                    See my profile on IADN

                    Comment


                      #25
                      Re: Need help with uniqueness test

                      Grid
                      Sergeant Richard Hartnett
                      Hyattsville City Police Department
                      Maryland

                      Comment


                        #26
                        Re: Need help with uniqueness test

                        Forget Validation or Field Rules. Here is exmple code for the CanUpdateRecord. You'd do the same for the CanInsertRecord if you want to protect new records:

                        Code:
                        function CanUpdateRecord as v (DataSubmitted as P, Args as p, PageVariables as p, Result as p )
                        with PageVariables
                        
                        if DataSubmitted.FNAME=DataSubmitted.LNAME
                        	Result.Cancel = .t.
                        	Result.ErrorHTML = "Names can't be the same"
                        end if
                        
                        end with
                        end function
                        Steve Wood
                        See my profile on IADN

                        Comment


                          #27
                          Re: Need help with uniqueness test

                          I'm not sure I understand what this is doing? It looks like it's checking to make sure the last name and first name are not the same. If so, how would I apply this my situation?

                          I'm checking one field ("Code") to make sure the data doesn't already exist, but only within the current set, as referenced by the linkingkey.
                          Sergeant Richard Hartnett
                          Hyattsville City Police Department
                          Maryland

                          Comment


                            #28
                            Re: Need help with uniqueness test

                            Sorry, I didn't read down far enough. Can you just auto-increment the Person code so it never dups?
                            Steve Wood
                            See my profile on IADN

                            Comment


                              #29
                              Re: Need help with uniqueness test

                              No, but let me explain the situation fully so it makes sense.

                              This is a police report application. The officer starts a new report, and the parent table (case number, date, time, etc.) issues a new linking key.

                              The officer then goes to the "Persons" child table, and starts to add related people.
                              The first "victim" is V-1, then V-2, etc. Suspects are S-1, S-2, etc., and there are other designators.

                              These "Person Codes" should never appear twice within the same report, hence the relationship to the linking key. The code "V-1" could appear 100's of times in the "Persons" table, as long as each time it is associated to a different linking key.

                              So my problem is that I need the validation to say "MUST NOT EXIST," but only within that particular set of records, that have the same linking key.
                              Sergeant Richard Hartnett
                              Hyattsville City Police Department
                              Maryland

                              Comment


                                #30
                                Re: Need help with uniqueness test

                                Another thought, something like this in the cansaverecord event where findcode is an index on your Linking field + code field.

                                Code:
                                function CanUpdateRecord as v (DataSubmitted as P, Args as p, PageVariables as p, Result as p )
                                with PageVariables
                                if dbcount("mytable","findcode",DataSubmitted.LINKFIELD)+DataSubmitted.CODE)+ > 0 
                                	Result.Cancel = .t.
                                	Result.ErrorHTML = "That code already used"
                                end if
                                end with
                                end function
                                Last edited by Steve Wood; 12-27-2007, 02:59 PM. Reason: added a plus symbol
                                Steve Wood
                                See my profile on IADN

                                Comment

                                Working...
                                X